Mysql - Select

Programovacie jazyky, rady, poradňa...
Ovecka
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1227
Registrovaný: 25 aug 2005, 0:57

Mysql - Select

Príspevok od používateľa Ovecka »

Ahojte lamem si hlavu ako vytvorit jeden select v mysql

mam tabulku X kde mam stlpce

[ string_id , text_id ]

teraz potrebujem vytiahnut vsetky spolocne text_id pre string_id [5,6,1] (priklad)

string_id = 5
text_id = 10,15,8

string_id = 6
text_id = 10,1,8

string_id = 1
text_id = 10,8

a vysledok z mysql bude 10 a 8 nakolko sa text_id nachadza v kazdom priradenom stringu. Da sa to spravit dako elegantne bez Joinov ? nakolko vstup pre string_id moze byt 1 az X
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8217
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Mysql - Select

Príspevok od používateľa harrison314 »

Dufam ze to mas aspon v 1. normalnej forme.
Ale v principe by to malo byt

Kód: Vybrať všetko

SELECT text_id  FROM X WHERE string_id IN (5,6,1) GROUB BY text_id HAVING COUNT(text_id ) = 3 
3 je pocet string_id, ktore chces vytiahnut
Ovecka
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1227
Registrovaný: 25 aug 2005, 0:57

Re: Mysql - Select

Príspevok od používateľa Ovecka »

jj tak daleko som sa dostal aj sam :) ale nakolko string_id a text_id mam zduplikovane (musim zistit preco) nakoniec som pridal do COUNT ,,DISTINCT" a uz vsetko fici tak ako ma

Dikes :)
Napísať odpoveď