0
我有SQL查詢設計如下。不在,並在條件mysql
SELECT (THIS ITEMS)
FROM (TABLES)
WHERE(SOME CONDITION) AND NOT IN (CONDITION) AND IN (CONDITION)
,但沒有得到所需正確的輸出,爲「IN」條件不正確
我有SQL查詢設計如下。不在,並在條件mysql
SELECT (THIS ITEMS)
FROM (TABLES)
WHERE(SOME CONDITION) AND NOT IN (CONDITION) AND IN (CONDITION)
,但沒有得到所需正確的輸出,爲「IN」條件不正確
wrking你需要一列來比較。正確的語法(注意column_expression
):
SELECT <select_list>
FROM <table_expression>
WHERE <column_expression> [NOT] IN (<comparison_list>)
例如,
SELECT col1, col2
FROM tab
WHERE col3 IN ('yes', 'no')
AND col4 NOT IN ('no', 'maybe')
注意你也可以使用一個單列的結果集靜態比較清單代替,如:
SELECT col1, col2
FROM tab
WHERE col3 IN (SELECT filterValues FROM table2)
但它更優化我們e EXISTS
子句:
SELECT col1, col2
FROM tab
WHERE EXISTS (SELECT 1 FROM table2 WHERE filterValues = col3)
您可能需要圍繞某些條件的括號。
Example 1:
Select all persons who are active and have an invoice
Person->Invoice (1 to Many)
SELECT * FROM person WHERE active=1 AND person_id IN (SELECT person_id FROM invoice)
Example 2:
Select all person who are active, do not have a cat, and have an invoice
SELECT * FROM person WHERE active=1 AND person_id NOT IN (SELECT person_id FROM people_with_cats) AND person_id IN (SELECT person_id FROM invoice)
發佈您的完整SQL查詢 –
您在'CONDITION'中有NULL值嗎? –
嗨,Varinder,想知道我是否可以使用其他操作符而不是'IN' – Parab