2013-01-19 61 views
0

我需要寫一個查詢。 有3個表,一個主要和兩個例如相關 :不平凡的查詢

main_table 
id name 
-- ------------- 
1 example 
2 example2 

join_table1 
id main_table_id 
-- ------------- 
1  1 

join_table2 
id main_table_id 
-- ------------- 
1  2 

如果main_table_id包含在join_table1
我需要join_table1.id進行排序,否則,如果main_table_id包含在join_table2,
我需要重新梳理通過join_table2.id

任何想法如何使這樣的查詢
main_table_id可以是表join_table1或join_table2
數據庫 - SQL服務器

+1

請從樣本數據中顯示您想要的結果,而不是用單詞問題描述它們。 –

回答

2

您應該結合coalesce和左連接。查詢將如下所示:

select ... 
from main_table 
left outer join join_table1 j1 on ... 
left outer join join_table2 j2 on ... 
order by coalesce(j1.id, j2.id) 
+0

謝謝!它解決了我的問題 – MaksiK