我有一张主表
Select * from Table_Master
PKID EMPNo名称
1 101 aaa
2 102 bbb
3 103 ccc
Select * from table_TXN
TXN_PKID MASTER_FKID EMPNo REMARKS
1 1 101 NA
2 2 500其错误的进入
3 3 123这也是错误的进入
我需要一个可以获取记录的查询:
2 2 500其错误的进入
3 3 123这也是错误的进入
类似的东西:
select * from Table_Master a, table_TXN b where a.PKID = b.TXN_PKID BUT a.EMPNo <> b.EMPNo
答案 0 :(得分:2)
我认为你的逻辑作为一个连接正常工作:
select t.*
from table_TXN t join
Table_Master m
on t.txn_pkid = m.pkid and t.empno <> m.empno ;
如果您将BUT
替换为AND
,您的代码示例将会有效。但是,不要使用隐式连接。二十多年前,SQL中引入了显式JOIN
;显式语法更清晰,更强大,并被所有数据库接受。