我有两张桌子。TableA
和TableB
。这两个表都有一些数据,两列如下。
TableA
---------
id Name
--- ----
1 abc
2 def
TableB
---------
id Name
--- ----
1 xyz
2 pqr
现在我将从我的应用程序中传递 id 列表并获得相同的 id 及其名称:
select id, name
from TableA
where id in(1,2)
union select id, name
from TableB
where id in(1,2);
上面的查询给出的结果为:
1 abc
1 xyz
2 def
2 pqr
但是我需要的是,如果两个表中都存在相同的 id,那么应该考虑 TableB 的名称,而不是 TableA 的名称。
Expected output:
1 xyz
2 pqr
还有一个是,如果 TableB 不包含任何数据,则应该获取 TableA 的数据。
我怎样才能做到这一点?
谢谢!