排除未包含在或中的行?MySQL

排除未包含在或中的行?MySQL,mysql,Mysql,我收到了这个请求: SELECT * FROM produits as P, fournisseur as F, caracteristiques as C, liste_caracteristiques as Li WHERE P.fournisseur = F.reffournisseur AND C.idCarac = Li.idCarac AND P.refproduit = Li.refproduit AND typeProd ='1' AN

我收到了这个请求:

SELECT *
FROM
  produits as P,
  fournisseur as F,
  caracteristiques as C, 
  liste_caracteristiques as Li 
WHERE P.fournisseur = F.reffournisseur 
  AND C.idCarac = Li.idCarac 
  AND P.refproduit = Li.refproduit 
  AND typeProd ='1' 
  AND prixpublicindicatif <= 450
  AND (libelleCarac = "Poids" AND valeur <= 1100
    OR libelleCarac = "Taille de l'écran" AND valeur IN('15cm', '8.3cm'));
选择*
从…起
产品作为P,
Fourniseur作为F,
特征为C,
把卡拉格列为李
其中P.fournisseur=F.reffournisseur
和C.idCarac=Li.idCarac
P.refproduit=Li.refproduit
并键入prod='1'

和prixpublicindicatif按
nomproduit
列分组,只取同时具有这两种情况的组

SELECT P.nomproduit
FROM produits as P
JOIN fournisseur as F ON P.fournisseur = F.reffournisseur 
JOIN liste_caracteristiques as Li ON P.refproduit = Li.refproduit 
JOIN caracteristiques as C ON C.idCarac = Li.idCarac 
WHERE typeProd ='1' 
AND prixpublicindicatif <= 450
AND 
(
    (C.libelleCarac = "Poids" AND C.valeur <= 1100)  OR
    (C.libelleCarac = "Taille de l'écran" AND C.valeur IN('15cm', '8.3cm'))
)
group by P.nomproduit
having count(distinct C.idCarac) = 2
选择P.nomproduit
从produits作为P
在P.fourniseur=F.reffourniseur上将fourniseur连接为F
在P.refproduit=Li.refproduit上以Li的形式加入列表
在C.idCarac=Li.idCarac上将caracteristiques连接为C
其中typeProd='1'

和prixpublicindicatif按
nomproduit
列分组,只取同时具有这两种情况的组

SELECT P.nomproduit
FROM produits as P
JOIN fournisseur as F ON P.fournisseur = F.reffournisseur 
JOIN liste_caracteristiques as Li ON P.refproduit = Li.refproduit 
JOIN caracteristiques as C ON C.idCarac = Li.idCarac 
WHERE typeProd ='1' 
AND prixpublicindicatif <= 450
AND 
(
    (C.libelleCarac = "Poids" AND C.valeur <= 1100)  OR
    (C.libelleCarac = "Taille de l'écran" AND C.valeur IN('15cm', '8.3cm'))
)
group by P.nomproduit
having count(distinct C.idCarac) = 2
选择P.nomproduit
从produits作为P
在P.fourniseur=F.reffourniseur上将fourniseur连接为F
在P.refproduit=Li.refproduit上以Li的形式加入列表
在C.idCarac=Li.idCarac上将caracteristiques连接为C
其中typeProd='1'

PrixPublicIndication如果你需要什么样的回报?您真的需要选择所有
选择*
?您能解释一下lil吗more@juergend选择*并不重要,我只需要一个产品名称(P.nomproduit),然后使用
SELECT P.nomproduit
代替
SELECT*
。您需要什么作为回报?您真的需要选择所有
选择*
?您能解释一下lil吗more@juergend选择*并不重要,我只需要一个产品名称(P.nomproduit),然后使用
SELECT P.nomproduit
代替
SELECT*
。它正在工作!如果我需要添加另一个C.libelleCarac条件,我只需要计数(distinct C.idCarac)=3,我想:)它工作了!如果我需要添加另一个C.libelleCarac条件,我只需要计数(distinct C.idCarac)=3,我想:)