Autor Zpráva
ajajaj
Profil
ahoj, prosím o radu, nemůžu rozklíčovat, co dělám špatně, nejspíš to bude prkotina, ale následující dotaz mi vrací pouze jeden řádek (ten poslední), ale mělo by jich být víc

select sl1, sl2 from t1 where id in (SELECT sl3 from t2 where parent=85 and typ='xyz')

výsledek subselectu je 383,384 bez mezer s čárkou
pokud spustím select sl1, sl2 from t1 where id in (383,384) dostanu dva výsledky, což je správně
juriad_
Profil *
ajajaj:
Poddotaz musí vracet dva záznamy:
383
384
nikoli řetězec '383,384'.
Keeehi
Profil
383,384 je ve sloupci sl3 v tabulce t2 uloženo jako string na jednom řádku? Pak to máš špatně. Mají to být dva samostatné řádky.

t2
parent | typ | sl3
85     | xyz | 383
85     | xyz | 384

ajajaj:
následující dotaz mi vrací pouze jeden řádek (ten poslední)
Pokud to máš opravdu ve stringu, tak se divím, že ti to vrátí vůbec něco.
ajajaj
Profil
děkuji oběma

juriad:
tak to byl ten důvod, děkuji, a já chtěl šetřit řádky v databázi... ;) ok, rozhodím to

Keeehi:
mno, chtěl jsem šetřit dotazy na db, takže se snažím vše zhustit, mám to ošetřený už při vkládání aby to mohl být i string
juriad_
Profil *
ajajaj:
Nesnaž se šetřit databázi. Ta naopak funguje nelépe pokud jsou všechna data pěkně rozložená.
Pokud máš výkonový problém s konkrétním dotazem, sem s ním (a popisem tabulek a existujících indexů). Třeba přijdeme na to, jak dotaz nebo databázi navrhnout lépe.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: