0
id_detail_item id_item id_detail_item_name 
1    1   abc 
2    1   abcd 
3    1   cde 
4    3   zki 
5    3   zkr 

如何檢查同一個「id_item」中的「id_detail_item_name」中是否有兩個不同的數據?在同一列mysql查詢中檢查不同的數據值?

我試過以下,但得到了一個錯誤:

SELECT id_item FROM table_detail_item WHERE id_detail_item_name='abc' AND id_detail_item_name='abcd'; 

回答

0

這是因爲與運算意味着這兩個條件必須得到滿足。

嘗試:

SELECT * FROM table_detail_item 
WHERE id_item = '1' 
AND id_detail_item_name IN ('abc', 'abcd'); 
+0

您也可以使用id_detail_item_name在( 'ABC' ,'abcd') – zevra0

+0

這並不回答問題。這隻會檢查'id_detail_item_name'是'abc'還是'abcd'。如果'id_detail_item_name是'abc'和'cde'會怎麼樣? – ataravati

+0

這似乎會得到像使用'或'相同的結果 –

0

這應該列出與至少兩種不同的id_detail_item_nameid_item

SELECT id_item, MIN(id_detail_item_name) nam1,max(id_detail_item_name) nam2 
FROM table_detail_item 
GROUP by id_item HAVING MIN(id_detail_item_name) nam1<MAX(id_detail_item_name) 
0

所有條目嘗試

select id_item 
    from (
       select min(id_detail_item_name) mmin 
        , max(id_detail_item_name) mmax 
       from table_detail_item 
      group by id_item 
     ) agg 
where agg.mmin <> agg.mmax 
    ; 
相關問題