簡體   English   中英

MYSQL SELECT 具有來自同一列的多個 WHERE/CONDITIONS 的 INNER JOIN

[英]MYSQL SELECT with INNER JOIN with multiple WHERE/CONDITIONS from the same column

我需要在 PRODUCTS 表上執行 SELECT ,只有在 PRODUCTS_DETAILS 表的條件為真時才返回結果

按照 sql:

select p.* from products p
join products_details pd
on p.id = pd.id_product
WHERE pd.details = 'quadra mar'
AND pd.details = 'prédio novo'

但是,當我輸入兩個或多個“ AND ”時,它不會返回結果

目標:搜索所有具有“ where ”詳細信息的產品

嘗試,

SELECT p.* FROM products p
INNER JOIN product_details pd ON p.id = pd.id_product AND pd.details IN ('quadra mar', 'prédio novo');

看看你的 WHERE 條款,我認為OR條件也可以解決你的問題。

... WHERE pd.details = 'quadra mar' OR pd.details = 'predio novo'

如果您只想要包含 where 子句中所有條件的產品,您可以嘗試:

SELECT pd.id_product, pd.details FROM products p
INNER JOIN product_details pd ON 
  p.id = pd.id_product AND 
  pd.details IN ('quadra mar', 'prédio novo') 
GROUP BY pd.id_product, pd.details 
HAVING count(*) > 1;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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