2016-08-13 10 views
-1

我有一個表如下:取從表數據,其中,如果條件爲真,所有相關的行隱藏

-------------------------------------- 
    id | product_id | value 
-------------------------------------- 
    1  |  1  |  1 
    2  |  1  |  2  
    3  |  1  |  3 
    4  |  2  |  1 
    5  |  2  |  2 

現在我想的是我選擇的數據,如果在狀態,值= 3,那麼結果應該沒有行的產品ID爲1,因爲它包含值= 3

希望你明白。

+0

您能顯示預期的輸出嗎? –

回答

1

SELECT * FROM mytable WHERE product_id NOT IN (SELECT product_id FROM mytable WHERE value=3)

有這個嵌套查詢。在嵌套查詢中,查找所有product_id的值爲3,則返回1.然後,在第一個查詢中,您在返回的查詢中找到不是的產品。因此,product_id不是1.

此查詢返回id爲4和5的行。

+0

謝謝你,它的作品... –

相關問題