0

わからない問題があります。最初にこれをやった

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

うまく機能しますが、私の問題は、テーブルから一意のクライアントIDを取得した後です。列 3 または 4 に値を持たない他の一意のクライアント ID を取得しようとしています

私はこれを試しましたが、列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
4

2 に答える 2

0

WHERE ClientID != 'SELECT ...'間違っています。サブクエリを引用符で囲むと、サブクエリが文字列に変換され、「クエリ性」が削除されます。あなたがしているはずです

WHERE ClientID != (SELECT ....)

代わりは。またはできればNOT IN、の代わりに!=

于 2013-10-18T16:40:18.640 に答える