Sql 合并表并更新一列
我正在使用Oracle,我需要合并两个查询,但我想在末尾添加一列,显示我将值设置为“query2”的位置,这意味着这是来自query2的结果 到目前为止,这是我的例子Sql 合并表并更新一列,sql,oracle,Sql,Oracle,我正在使用Oracle,我需要合并两个查询,但我想在末尾添加一列,显示我将值设置为“query2”的位置,这意味着这是来自query2的结果 到目前为止,这是我的例子 select t1.* , t2.* , 0 isdefault from table1 t1, table2 t2 where .... union select t1.*,t2.*, t3.isdefault from table1 t1, tabl
select t1.* , t2.* , 0 isdefault
from table1 t1, table2 t2
where ....
union
select t1.*,t2.*, t3.isdefault
from table1 t1, table2 t2, table3 t3
where ...
and t3.inactive = 0;
静态定义值,就像您为
isdefault
提供的那样:
SELECT t1.*, t2.*, 0 isdefault, 'query1' AS whichQuery
FROM table1 t1,
table2 t2
WHERE ...
UNION
SELECT t1.*,t2.*, t3.isdefault, 'query2' AS whichQuery
FROM table1 t1,
table2 t2,
table3 t3
WHERE ...
AND t3.inactive = 0;
现在我有了重复的记录,一个是query1,另一个是query2,如何删除其中一个?因为t3.isdefault可以是0@user1111111:您必须提供查询详细信息,但我相信您可能会从任一查询中获得笛卡尔积。。。或者有多个子记录与父记录关联。外部联接可能比联合更有效地完成您需要的工作