php - MySQL UNION 查询分离

标签 php mysql codeigniter

我有这个使用 UNION 的查询:

$this->db->query('
        SELECT DISTINCT users.user_pic, users.id, users.username, contacts.accepted 
        FROM users
        LEFT JOIN contacts ON users.id = contacts.user_1
        WHERE contacts.user_2 = ' . $this->session->userdata('user_id') . '
        UNION DISTINCT
        SELECT DISTINCT users.user_pic, users.id, users.username, contacts.accepted 
        FROM users 
        LEFT JOIN contacts ON users.id = contacts.user_2
        WHERE user_1 = ' . $this->session->userdata('user_id')
);

有没有办法查看 session “user_id”是否在 contacts.user_1contacts.user_2 中遇到?也许通过更改查询,或者我是否可以在 View 中使用一些 if 语句?

提前致谢

乔治

最佳答案

是的,你可以添加另一个字段来选择,你可以像 (1,2) 这样识别

$this->db->query('
        SELECT 1 as table_id,DISTINCT users.user_pic, users.id, users.username, contacts.accepted 
        FROM users
        LEFT JOIN contacts ON users.id = contacts.user_1
        WHERE contacts.user_2 = ' . $this->session->userdata('user_id') . '
        UNION DISTINCT
        SELECT 2 as table_id,DISTINCT users.user_pic, users.id, users.username, contacts.accepted 
        FROM users 
        LEFT JOIN contacts ON users.id = contacts.user_2
        WHERE user_1 = ' . $this->session->userdata('user_id')
);

关于php - MySQL UNION 查询分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8202379/

相关文章:

php - 检查用户名和密码是否正确

mysql - 如何按日期查询 SUM 和 WHERE,但该行仍然存在

php - 将 JavaScript 确认中的值传递给 Codeigniter Controller

php - 从目录中提取所有图像

javascript - 动态图片 slider 解决方案

php - move_uploaded_file() 不适用于有效的 ['tmp_name' ]

mysql - 如何将文件 .mdf 和 .ldf 转换为 mysql 格式

php - 从非公共(public)目录加载 css 或 javascript

php - 将数据库中的数据显示到下拉菜单 CodeIgniter

php - mysql_query 不工作