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 Server

4

1 回答 1

2

您应该结合合并和左连接。查询将如下所示:

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 )
于 2013-01-19T16:59:50.913 回答