我想加入表A使用GROUP_ID = GROUP_ID在上TABLE_TYPE的類型的條件是不同的相同TABLEA
TABLEA
SQL JOIN沒有一些線
id name type_id group_id
--------------------------------
1 name1 4 2
2 name2 3 1
3 name3 3 2
4 name4 3 3
5 name5 4 3
類型表:
id code
------------
3 out
4 in
我想要得到的回報:
id name type_id group_id bro_id bro_name
---------------------------------------------------------
2 name2 3 1 1 name1
3 name3 3 2
4 name4 3 3 5 name5
我試過SQL:
SELECT tA.id,tA.name,tt.code,tAi.id AS "bro_id",tAi.name AS "bro_name",tti.code
FROM tablea tA
INNER JOIN table_type tt ON (tA.type_id=tt.id and tt.code='OUT')
LEFT JOIN tablea tAi ON (tA.group_id=tAi.group_id and tA.id!=tAi.id)
INNER JOIN table_type tti ON (tti.id=tAi.type_id and tti.code='IN')
,但我不能讓該行:
3 name3 3 2 null null
您想要的結果中的bro_id字段背後的邏輯是什麼? –
bro_id是具有相同group_id的行的兄弟 – m3asmi
@DanBracuk bro_id後面的邏輯知道類型= IN是否存在 – m3asmi