Autor Zpráva
_martin
Profil *
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
_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 *
select * from tabulka where skupina in (select skupina from tabulka where id=$id)
_martin
Profil *
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
_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 *
TSD
Asi jsi špatně porozumněl mému dotazu.
TSD
Profil
_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 *
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 *
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.

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:

0