2009-06-30 7 views
0

données:Comment obtenir le résultat d'une colonne avec des données combinées?

id bb 
1 14,35 
2 5,11,12,125,36 
3 3,23,45,15,1 
4 651 
5 5,1,6 
6 1,7 

Par exemple, je wan't obtenir id qui, avec la valeur '1'. Donc id (3,5,6) devrait revenir, mais pas d'autres avec '14' ou '11'.

DB: Mysql

+3

Ugh! La conception de votre base de données est ** incorrecte **. S'il vous plaît dites-moi le but de cette requête est de le réparer? –

+0

quel DB? sql server/oracle/mysql? S'il vous plaît ajouter cette information dans la question et tags. – shahkalpesh

Répondre

1
select * from test where find_in_set('1',bbb) 

ou

select * from test where bbb REGEXP '(^|,)1(,|$)' 
0

Quelque chose me manque?

SELECT * 
FROM MyTable 
WHERE (id = 3) or (id = 5) or (id = 6) 
2

Ce n'est pas la solution la plus efficace, mais il peut vous donner ce que vous voulez sur la table:

select id from MyTable where bb like '%,1,%' union 

select id from MyTable where bb like '1,%' union 

select id from MyTable where bb like '%,1' union 

select id from MyTable where bb like '1' 

acclamations

-1
vous

peut faire comme ça sel ect * de mytable où id comme '14% 'ou '11%'

Questions connexes