2012-01-12 34 views
10

Im sử dụng IN để chọn thứ ...MYSQL trong bản Tuyên Bố

WHERE categories IN ("red", "blue", "green") 

này sẽ chọn bất kỳ mục nào trong loại màu đỏ, màu xanh hoặc màu xanh lá cây, câu hỏi của tôi là, liệu có một cách để chọn một mục mà đã được trong cả ba loại?

+3

là loại một cột trong một bảng? Làm thế nào nhiều thể loại được thể hiện trong nó nếu vậy? –

+1

@DavidM Vâng, tôi cũng nhận ra điều đó khi gõ câu trả lời. Nếu đó là một cột đơn (như người hỏi được đề xuất với truy vấn một phần), thì nó có thể thuộc về nhiều danh mục như thế nào? – Crontab

+0

@Crontab Đặc biệt với 'WHERE column IN()'. –

Trả lời

20
SELECT Item 
    FROM YourTable 
    WHERE categories IN ('red', 'blue', 'green') 
    GROUP BY Item 
    HAVING COUNT(DISTINCT categories) = 3 
+0

làm cách nào để bạn thêm giới hạn? điều này chắc chắn là sai SELECT * TỪ KHÁCH HÀNG Ở ĐÂU THÀNH PHỐ ('Berlin', 'México D.F.') GIỚI HẠN 5, 5; –

+0

@MarlonBuendia Hãy bắt đầu một câu hỏi mới cho một cái gì đó như thế này. –

+0

tôi nghĩ rằng bệnh chỉ cần chỉnh sửa câu hỏi hiện tại của tôi –

0
SELECT Item 
    FROM YourTable 
    WHERE categories ALL ('red', 'blue', 'green')