我有两个不同的表' TABLE1 '和' TABLE2 '。这两个表都具有相同的列名 - “ IS_PDF ”。
RE TABLE1.IS_PDF值,我使用 select 语句检索了所需的详细信息,其中我添加了where子句,如下所示。
select * from TABLE1 where TABLE1.IS_PDF = 'Y';
同样,我可以得到TABLE2的值以及TABLE2.IS_PDF ='Y'
现在,我的任务是通过在下面设置优先级,使用一个select语句从两个表'strong> TABLE1 '和' TABLE2 '获取详细信息条件#1 。
我在下面的Select语句中使用了但只在同一时间获得了上述条件#1和2。
select * from TABLE1, TABLE2
where
(TABLE1.IS_PDF = 'Y') or (TABLE2.IS_PDF = 'Y' and TABLE1.IS_PDF = 'N' )
请同样指导。 感谢
答案 0 :(得分:1)
你似乎想要这样的东西:
select t1.*
from table1 t1
where t1.is_pdf = 'Y'
union all
select t2.*
from table2 t2
where t2.is_pdf = 'Y' and
not exists (select 1 from table1 t1 where t1.is_pdf = 'Y' and t1.?? = t2.??);
??
表示用于在两个表之间进行匹配的列。
答案 1 :(得分:0)
感谢您的快速回复。
示例代码 -
select TABLE1.IS_PDF, TABLE2.IS_PDF, TABLE1.ID, TABLE1.GLOBAL_ID, TABLE1.title,
from TABLE1, TABLE2
where TABLE1.USER_ID = 82340
and TABLE1.NAME = 'INDIA'
and (TABLE1.IS_PDF = 'Y') or (TABLE2.IS_PDF = 'Y' and TABLE1.IS_PDF = 'N' )
我需要在下面的条件#1上设置优先级。如果条件#1满足,那就没问题了。否则去#2然后#3。