读书人

一个关于sql select有关问题

发布时间: 2013-01-28 11:49:56 作者: rapoo

一个关于sql select问题
列一 列二 列三
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 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)
)
用楼上的语句会丢失第一条

读书人网 >SQL Server

热点推荐