[英]PHP: multiple AND conditions in MYSQL query?
我試圖弄清楚為什么我不能在mysql查詢中運行多個AND
條件。
基本上這是我的代碼:
SELECT id, category_name, url, category_name_unedit FROM mytable WHERE category_name='Girls Clothes' AND category_name='Boys Clothes' GROUP BY category_name
上面的代碼不返回任何內容,但是當我像這樣單獨運行代碼時:
SELECT id, category_name, url, category_name_unedit FROM mytable WHERE category_name='Girls Clothes' GROUP BY category_name
或像這樣:
SELECT id, category_name, url, category_name_unedit FROM mytable WHERE category_name='Boys Clothes' GROUP BY category_name
然后就可以了!
這是一個基本的問題,不幸的是我無法弄清楚如何解決它。
有人可以建議這個問題嗎?
這是因為查詢邏輯已關閉。 如果您考慮一下,就不能有一個類別名稱,其名稱是“ Girls Clothes AND Boys Clothes”。 但是,您可能會得到名稱為Girls Clothes或Boys Clothes的結果。
查詢應如下所示:
SELECT id,
category_name,
url,
category_name_unedit
FROM mytable
WHERE category_name='Girls Clothes'
OR category_name='Boys Clothes'
GROUP BY category_name
我猜想您想要兩個類別的網址。 如果是這樣的話:
SELECT url
FROM mytable
WHERE category_name IN ('Girls Clothes', 'Boys Clothes')
GROUP BY url
HAVING COUNT(*) = 2;
如果您只想檢查任一類別,則在查詢中使用IN
(或OR
)。
SELECT id, category_name, url, category_name_unedit FROM mytable WHERE category_name='Girls Clothes' AND category_name='Boys Clothes' GROUP BY category_name
因為一個項目不可能有2個category_name
。
您可能打算查找的是“ Girls Clothes”還是“ Boys Clothes”。 在這種情況下,您將使用OR而不是AND。
SELECT id, category_name, url, category_name_unedit FROM mytable WHERE category_name='Girls Clothes' OR category_name='Boys Clothes' GROUP BY category_name
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.