请帮助任何人!
我想,例如,user_id 27返回case_id 1和2,因为另一个具有相同公司的user_id已经创建了案例。
用户ID 27是一个示例,因为该表非常大,因此我需要以某种方式使用通用SQL语句。
CodeIgniter Active Query非常有用,但可能过于复杂?
Cases
case_id | case_user | case_name
1, 25, Test Case A
2, 25, Test Case B
3, 26, Test Case C
Users
user_id | user_email | user_company
25, example-email-a, Company Alpha
26, example-email-b, Company Beta
27, example-email-c, Company Alpha
非常感谢
答案 0 :(得分:1)
试试这个:
SELECT * FROM Cases
WHERE case_user IN
(SELECT user_id FROM Users WHERE user_company=(
SELECT user_company FROM Users WHERE user_id=27)
)
答案 1 :(得分:0)
试试这个。对于user_id 27,它不是返回case_id 1和2但是 对于user_id 25,它返回case_id 1和2
SELECT * FROM `Users`
LEFT JOIN `Cases` ON `Users`.`user_id`=`Cases`.`case_user`
WHERE `Users`.`user_id`=25
答案 2 :(得分:0)
这是针对作为示例输出显示的数据。
SELECT S1.USER_ID, C.CASE_ID
FROM USERS S1
JOIN USERS S2
ON S1.USER_ID <> S2.USER_ID
AND S1.USER_COMPANY = S2.USER_COMPANY
JOIN CASES C
ON S2.USER_ID = C.CASE_USER