Autor | Zpráva | ||
---|---|---|---|
milan.lipka Profil * |
#1 · Zasláno: 26. 8. 2008, 15:49:38
Zdravím,
mám nasledujúcu tabuľku: CREATE TABLE `kategorie` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `link` INT(11) NOT NULL DEFAULT 0, `nazov` VARCHAR(100) NOT NULL DEFAULT '', `sub` INT(11) NOT NULL DEFAULT 0, PRIMARY KEY(`id`) ); Bežne z nej vyťahujem dáta približne takto: SELECT * FROM `kategorie` WHERE `sub` = '23' Ale ako by sa dalo spraviť, že ak hodnota v stĺpci link bude rôzna od nuly tak aby sa vybral riadok s týmto ID. Čiže ak bude mať napríklad stĺpec link hodnotu 123 a ID 456 tak sa vráti riadok s ID 123. Dalo by sa to nejako spraviť? Napríklad pomocou IF + LEFT JOIN? Vďaka. |
||
Kajman_ Profil * |
#2 · Zasláno: 26. 8. 2008, 15:55:22
Možná nějak takhle
select * from `kategorie` where `sub` = '23' and `link`=0 union select * from `kategorie` where `id` in (select `link` from `kategorie` where `sub` = '23') |
||
joe Profil |
#3 · Zasláno: 26. 8. 2008, 15:59:12 · Upravil/a: joe
Co třeba
SELECT * FROM kategorie ko JOIN kategorie kn ON (kn.id = ko.id) WHERE ko.sub = '23' AND ko.link <> 0 |
||
Časová prodleva: 16 let
|
0