2009-08-12 4 views
0

J'ai une requête qui ressemble à ceci:Comment sélectionner toutes les valeurs, pas seulement ceux où la clause

SELECT id, GROUP_CONCAT(type SEPARATOR ',') AS type FROM rock_types 
     WHERE type IN("DWS","Top rope") GROUP BY id 

cela renvoie tous les ids qui ont un type de réseau d'eau potable ou corde, ou les deux avec les types concaténé. Cependant, il y a plus de types que ceux-là. 2. Est-il possible de toujours sélectionner uniquement les ID qui ont un DWS ou une corde supérieure ou les deux, mais aussi tous les autres types associés à ces ID? Merci!

Répondre

1

L'utilisation d'un sous-requête (travaillerait dans l'oracle, et instr fonctionne dans une base MySQL aussi ... pas sûr de la syntaxe pour MySQL sous-requête si)

Select id, type from 
(SELECT id, GROUP_CONCAT(type SEPARATOR ',') AS type FROM rock_types 
     GROUP BY id) a 
WHERE INSTR(type,"DWS")>0 OR INSTR(type,"Top rope")>0 
Questions connexes