Imam dve tabele t1, t2. t1 ima neka polja, t2 ima polja koja se prevode.
t1: id, col1, col2, ...
t2: t1_id, lang_id, trans1, trans2, ...
Normalan inner join daje lepe rezultate kad mi treba jedan jezik.
Da li je moguce sql upitom dobiti ovakav rezultat za jedan t1 red (where id = 1)
Tj sa svi prevodi budu objedinjeni i u jednom rezultatu.
Predpostavljam da trazim nemoguce. Ako je to slucaj, za (where id = 1) mogu lako da napakujem trazene podatke relativno jednostavnim sabiranjem nizova. Samo mora da se pazi da t1 col nikad nemaju ime jezika koji se koristi u t2.
Sta raditi kad mi trebaju svi redovi? Znam da mogu da radim select * from t1 i select * from t2, i onda programerski pakujem, ali to mi se ne dopada. Ti nizovi mogu potencijalno da narastu + imam osecaj da nesto ne radim kako treba. Tj da mi izmice bolje i pravilnije resenje.
t1: id, col1, col2, ...
t2: t1_id, lang_id, trans1, trans2, ...
Normalan inner join daje lepe rezultate kad mi treba jedan jezik.
Code:
SELECT * FROM t1
INNER JOIN t2 ON t1.id=t2.t1_id
WHERE lang_id=$id;
//id, col1, col2, ..., trans1, trans2...
SELECT * FROM t1
INNER JOIN t2 ON t1.id=t2.t1_id
WHERE lang_id=$id;
//id, col1, col2, ..., trans1, trans2...
Da li je moguce sql upitom dobiti ovakav rezultat za jedan t1 red (where id = 1)
Code:
id, col1, col2, ... [lang_id1 => [trans1, trans2, ...], lang_id2 => [trans1, trans2], ...]
id, col1, col2, ... [lang_id1 => [trans1, trans2, ...], lang_id2 => [trans1, trans2], ...]
Tj sa svi prevodi budu objedinjeni i u jednom rezultatu.
Predpostavljam da trazim nemoguce. Ako je to slucaj, za (where id = 1) mogu lako da napakujem trazene podatke relativno jednostavnim sabiranjem nizova. Samo mora da se pazi da t1 col nikad nemaju ime jezika koji se koristi u t2.
Sta raditi kad mi trebaju svi redovi? Znam da mogu da radim select * from t1 i select * from t2, i onda programerski pakujem, ali to mi se ne dopada. Ti nizovi mogu potencijalno da narastu + imam osecaj da nesto ne radim kako treba. Tj da mi izmice bolje i pravilnije resenje.
Potpis
I'm not in this world to live up to your expectations and you're not in this world to live up to mine.
