0

我有一个我无法弄清楚的问题。首先我做了这个

SELECT DISTINCT(ClientID) AS ID 
FROM table 
WHERE column4 IS NOT NULL AND TRIM(column4) <> '' 
ORDER BY ClientID ASC

效果很好,但我现在的问题是在我从表中获得唯一的客户端 ID 之后。试图取出在 column3 或 4 中没有值的其他唯一客户端 ID

我确实尝试过,但显然是错误的,因为我进入了其中 1 次在 column3 和 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
4

2 回答 2

0

Select distinct (clientid) as id From table Where length(column4) < > 0 and length(column3)< >0

要检查一个 colmn 是 null 还是 empty ,请使用 LENGTH() 函数。

于 2013-10-18T16:34:03.850 回答
0

WHERE ClientID != 'SELECT ...'是不正确的。子查询周围的引号将其变成一个字符串,删除它所具有的任何“查询性”。你应该做

WHERE ClientID != (SELECT ....)

反而。或者最好NOT IN,而不是!=

于 2013-10-18T16:40:18.640 回答