列一 列二 列三
001 王五
002 张六
003 孙上 001
004 张起 001
我想用select得出列三中包涵列一的数据,比如
001 王五
003 孙上 001
004 张起 001
我是这样写的。
select * from TABLE where 列一=列三
这样貌似得出来是空。怎么弄?
------解决方案--------------------
SELECT A.*
FROM TAB A
WHERE 列三 <> ''
OR EXISTS (
SELECT 1
FROM TAB B
WHERE B.列三 = A.列一
)
------解决方案--------------------
正解!!!
------解决方案--------------------
我觉得应该是
SELECT * FROM t_TEST_A WHERE c1 IN (SELECT C3 FROM t_TEST_A)
union
(
SELECT * FROM t_TEST_A WHERE c3 IN (SELECT C1 FROM t_TEST_A)
)
用楼上的语句会丢失第一条