2016-08-01 150 views
1

我有兩個查詢,我想將它們組合成一個查詢並區分stylesname。基本上我只是想得到teacher他在schools和其中school屬於styles的樣式。如何結合來自同一個表的兩個查詢

這是我每個到目前爲止的查詢。

表STYLES

enter image description here

查詢1

SELECT * 
FROM styles s 
WHERE s.organization_id = (
    SELECT t.school_id 
    FROM teachers t 
    WHERE t.user_id = 4 
) 

結果2 enter image description here

查詢2

SELECT * 
FROM styles s, teachers t 
WHERE t.school_id = s.school_id 
    AND t.user_id = 4 

結果2 enter image description here

+2

您的預期成果是什麼? – Blank

+0

基於user_id的所有樣式的組合結果。 –

+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 *使用的所有命名列。

相關問題