簡體   English   中英

PHP:MY​​SQL查詢中有多個AND條件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM