我有两个查询,我想将它们合并为一个查询,并区分name
的{{1}}。基本上我只想获得styles
所属teacher
的样式以及schools
所属的styles
organization
的样式。
到目前为止,这是我的查询。
STYLES表
查询1
school
查询2
SELECT *
FROM styles s
WHERE s.organization_id = (
SELECT t.school_id
FROM teachers t
WHERE t.user_id = 4
)
答案 0 :(得分:1)
您只是缺少与查询的正确连接。不要使用旧的联接样式,请使用INNER JOIN
我可以看到你已经通过不同的列加入了styles
表和teachers
表。 一种方法将是一个简单的UNION:
SELECT *
FROM styles s
INNER JOIN teachers t
ON s.organization_id = t.school_id
WHERE t.user_id = 4
UNION
SELECT *
FROM styles s
INNER JOIN teachers t
ON t.school_id = s.school_id
WHERE t.user_id = 4
**注意:**不要使用select *
使用所有命名列。