Autor Zpráva
milan.lipka
Profil *
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 *
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
Co třeba

SELECT * FROM kategorie ko JOIN kategorie kn ON (kn.id = ko.id) WHERE ko.sub = '23' AND ko.link <> 0

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