Chciałbym wyswietlic pierwszy mecz (where mecz.id=1) gdzie sa pola: id meczu, nazwa gospodarza, nazwa goscia.
Najpierw wyswietlam mecz z numerami ID klubow:
SELECT mecz.id,fk_klub_gospodarz AS gospodarz,fk_klub_gosc AS gosc FROM mecz WHERE mecz.id=1;
id | gospodarz | gosc
----+-----------+------
1 | 1 | 2
Nastepnie probuje zamienic ID klubow na nazwy komenda:
SELECT mecz.id,nazwa AS gospodarz, nazwa AS gosc FROM mecz,klub WHERE FK_klub_gospodarz=klub.id AND FK_klub_gosc=klub.id;
ale dostaje zero rekordow:
id | gospodarz | gosc
----+-----------+------
(0 rows)
Tabele wygladaja tak:
CREATE TABLE klub
(
id serial PRIMARY KEY,
nazwa varchar(32) NOT NULL,
panstwo varchar(32) NOT NULL,
miejsce_w_tabeli int --wyliczane
);
CREATE TABLE mecz
(
id serial PRIMARY KEY,
FK_stadion int REFERENCES stadion(id) ON UPDATE CASCADE ON DELETE CASCADE,--rozgrywany na
FK_klub_gospodarz int REFERENCES klub(id) ON UPDATE CASCADE ON DELETE CASCADE,
FK_klub_gosc int REFERENCES klub(id) ON UPDATE CASCADE ON DELETE CASCADE,
gole_gospodarz int NOT NULL,
gole_gosc int NOT NULL,
kartki_gospodarz int NOT NULL,
kartki_gosc int NOT NULL
);