Autor | Zpráva | ||
---|---|---|---|
_martin Profil * |
#1 · Zasláno: 15. 5. 2008, 21:07:39
Ahoj, mám tabulku
id, titulek, body, url, skupina Jde jedním dotazem vybrat řádek, kde id je rovno nějaké hodnotě a všechna url, která mají stejnou skupinu jako vybraný řádek? Případně jak? Dík |
||
Akacko Profil |
#2 · Zasláno: 15. 5. 2008, 21:38:17
_martin
Nejsem si jist zda v mysql jde jednim příkazem vybrat 1 řádek podle ID a pak více URL podle jiné kriterie. |
||
Kajman_ Profil * |
#3 · Zasláno: 15. 5. 2008, 21:51:13
select * from tabulka where skupina in (select skupina from tabulka where id=$id)
|
||
_martin Profil * |
#4 · Zasláno: 15. 5. 2008, 22:17:52
Díky, vybereto vše co potřebuju, ale i o něco více dat.
id, titulek, body, url, skupina 1, titulek1, telo stranky1, url stranky1, 58 2, titulek2, telo stranky2, url stranky2, 58 3, titulek3, telo stranky3, url stranky3, 58 je možné vybrat jen řádek s id = 1, a pak z řádku jen url (bez sloupců titulek, body...), kde skupina je stejná jako skupina u řádku s id=1? Chtěl bych dosáhnout něčeho podobného array(id => "1", titulek => "titulek1", body => "telo stranky1", url => "url stranky1", skupina => "58", stejne_ve_skupine => array(0 => array(id = "2", url ="url stranky2), 1 => array(id = "3", url ="url stranky3)); díky |
||
TSD Profil |
#5 · Zasláno: 15. 5. 2008, 22:33:28
_martin
Zkus hádat. Opravdu tě nenapadlo něco jako SELECT url FROM ... ? Jestli ne, tak myslím, že tvoje další otázka bude, jak ty řádky vypsat. |
||
_martin Profil * |
#6 · Zasláno: 15. 5. 2008, 23:59:49
TSD
Asi jsi špatně porozumněl mému dotazu. |
||
TSD Profil |
#7 · Zasláno: 16. 5. 2008, 01:52:27
_martin
To je možné. Jiný možný výklad než ten, co mě napadl napoprvé, nevidím. Zkus problém popsat jinak, možná nejsem sám, kdo otázce nerozumí. |
||
_martin Profil * |
#8 · Zasláno: 16. 5. 2008, 09:29:44
Zkusím to tedy ještě jednou.
Mám tabulku id, titulek, body, url, skupina 1, titulek1, telo stranky1, url stranky1, 58 2, titulek2, telo stranky2, url stranky2, 58 3, titulek3, telo stranky3, url stranky3, 58 a chtěl bych z ní vytáhnout řádek, kde id = 1 a společně s ním všechna url (bez titulku, tela stranky), které mají stejnou skupinu jako první řádek (id = 1) 1, titulek1, telo stranky1, url stranky1, 58 - , ---, ---, url stranky2, -- - , ---, ---, url stranky3, -- ve skutečnosti bude řádků i slouců mnohem více. Je možné toho všechno vytáhnout jedním dotazem? |
||
Kajman_ Profil * |
#9 · Zasláno: 16. 5. 2008, 10:10:04
Osobně bych volil dva dotazy než jeden nesmyslný...
select id, titulek, body, url, skupina from tabulka where id=$id union all select null, null, null, url, null from tabulka where skupina in (select skupina from tabulka where id=$id) and id!=$id Neplatí obecně, že jeden dotaz je rychlejší než dva. |
||
Časová prodleva: 16 let
|
0