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
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.

1t2
2parent | typ | sl3
385     | xyz | 383
485     | xyz | 384
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.
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.

Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:


Běda vám, jestli to bude blábol.

0