Co jest nie tak z tym zapytaniem ze na kei.pl(MySQL 4.0.18) wykonuje sie poprawnie, na moim wlasnym serwerze tez (IIS, MySQL 4.0.18), a na home.pl(MySQL 4.1) nie idzie
SELECT mod.NazwaModulu, mod.LinkModulu
FROM ( prawa_dostepu pd
INNER JOIN moduly mod ON pd.IDModulu = mod.IDModulu
)
INNER JOIN uzytkownicy uz ON pd.IDUzytkownika = uz.IDUzytkownika
WHERE uz.IDUzytkownika = 2 AND pd.Dostep > 0
Struktura bazy:
-- --------------------------------------------------------
--
-- Struktura tabeli dla `moduly`
--
CREATE TABLE `moduly` (
`IDModulu` int(6) NOT NULL AUTO_INCREMENT,
`NazwaModulu` text NOT NULL,
`LinkModulu` text NOT NULL,
PRIMARY KEY (`IDModulu`)
) TYPE=InnoDB AUTO_INCREMENT=8 ;
-- --------------------------------------------------------
--
-- Struktura tabeli dla `prawa_dostepu`
--
CREATE TABLE `prawa_dostepu` (
`IDPrawa` int(5) NOT NULL AUTO_INCREMENT,
`IDUzytkownika` int(5) NOT NULL DEFAULT '0',
`IDModulu` int(5) NOT NULL DEFAULT '0',
`Dostep` char(1) NOT NULL DEFAULT '',
PRIMARY KEY (`IDPrawa`),
KEY `IDUzytkownika` (`IDUzytkownika`),
KEY `IDModulu` (`IDModulu`),
KEY `Dostep` (`Dostep`)
) TYPE=InnoDB AUTO_INCREMENT=19 ;
-- --------------------------------------------------------
--
-- Struktura tabeli dla `uzytkownicy`
--
CREATE TABLE `uzytkownicy` (
`IDUzytkownika` int(5) NOT NULL AUTO_INCREMENT,
`Login` varchar(25) NOT NULL DEFAULT '',
`Haslo` varchar(32) NOT NULL DEFAULT '',
`Imie` text NOT NULL,
`Nazwisko` text NOT NULL,
`Aktywny` int(1) NOT NULL DEFAULT '1',
`Uzytkownicy` int(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`IDUzytkownika`),
KEY `Uzytkownicy` (`Uzytkownicy`),
KEY `Aktywny` (`Aktywny`),
KEY `Login` (`Login`),
KEY `Haslo` (`Haslo`)
) TYPE=InnoDB AUTO_INCREMENT=4 ;
Cytat
Błąd:
1064: You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'mod ON pd.IDModulu = mod.IDModulu )
INNER JOIN uzytkownicy uz ON pd.IDU' at line 1
Admin na home.pl rzekł, ze zapytanie "jakos dziwnie mu wyglada". Nie wiem moze jest niezgodne z jakimis standardami. Dodam, ze po zmianie nazwy aliasu z "mod" na inny wszystko jest OK