我有一个我无法弄清楚的问题。 首先我做了这个
SELECT DISTINCT(ClientID) AS ID
FROM table
WHERE column4 IS NOT NULL AND TRIM(column4) <> ''
ORDER BY ClientID ASC
效果很好但是我的问题出现在我从表中获得独特的clientid之后。 试图取出在第3栏或第4列中没有价值的其他独特的clientid
我确实尝试了这一点,但显然是错误的,因为我在那里得到了第3列和第4列中有价值的clientid
SELECT DISTINCT(ClientID) AS ID
FROM table
WHERE ClientID != '(SELECT DISTINCT(ClientID)
FROM table
WHERE column4 IS NOT NULL AND TRIM(column4) <> '' )'
ORDER BY ClientID ASC
表格就像这样
Table
ClientID - can be 2..3...4 times in the table
ID - unique id
column3 - can be empty
column4 - can be empty
column5 - can be empty
答案 0 :(得分:0)
Select distinct (clientid) as id
From table
Where length(column4) < > 0 and length(column3)< >0
要检查列是空还是空,请使用LENGTH()函数。
答案 1 :(得分:0)
WHERE ClientID != 'SELECT ...'
不正确。子查询周围的引号将其转换为字符串,删除它具有的任何“查询”。你应该做的
WHERE ClientID!=(SELECT ....)
代替。或者最好是NOT IN
,而不是!=
。