Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Potrójny JOIN
scanner
post
Post #1





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Trochę się pogubiłem. Mam 4 tabele o (mniej więcej) nastepującej strukturze:
Kod
CREATE TABLE news (

  id int(10) unsigned NOT NULL auto_increment,

  dzial_id int(10) unsigned NOT NULL default '0',

  user_id int(10) unsigned default NULL,

  tytul varchar(128) default NULL,

  tresc text,

  PRIMARY KEY  (id),

) TYPE=MyISAM;



CREATE TABLE news_categories (

  id int(10) unsigned NOT NULL auto_increment,

  nazwa varchar(32) default NULL,

  symbol varchar(32) default NULL,

  PRIMARY KEY  (id),

) TYPE=MyISAM;



CREATE TABLE news_comments (

  id int(10) unsigned NOT NULL auto_increment,

  news_id int(10) unsigned NOT NULL default '0',

  autor varchar(32) NOT NULL default '',

  PRIMARY KEY  (id),

) TYPE=MyISAM;



CREATE TABLE users (

  id int(10) unsigned NOT NULL auto_increment,

  login varchar(32) NOT NULL default '',

  PRIMARY KEY  (id),

) TYPE=MyISAM;
I teraz chcę to wszystko scalić, żeby pokazac newsy na stronie:
Kod
SELECT

  `users`.`login`,

  `users`.`id`,

  `news`.`user_id`,

  `news`.`data_dodania`,

  `news`.`tresc`,

  `news`.`tytul`,

  COUNT(`news_comments`.`id`) AS `id1`,

  `news`.`id` AS `id2`,

  `news`.`dzial_id`,

  `news_categories`.`symbol`,

  `news_categories`.`nazwa`

FROM

  `news_categories`

  RIGHT OUTER JOIN `news` ON (`news_categories`.`id` = `news`.`dzial_id`),

  `news_comments`

  RIGHT OUTER JOIN `news` ON (`news_comments`.`news_id` = `news`.`id`),

  `users`

  RIGHT OUTER JOIN `news` ON (`users`.`id` = `news`.`user_id`)

GROUP BY

  `users`.`login`,

  `users`.`id`,

  `news`.`user_id`,

  `news`.`data_dodania`,

  `news`.`tresc`,

  `news`.`tytul`,

  `news`.`id`,

  `news`.`dzial_id`,

  `news_categories`.`symbol`,

  `news_categories`.`nazwa`

ORDER BY

  `news`.`id` DESC
Niestety w wyniku otrzymuję:
Cytat
MySQL zwrócił komunikat:  

Not unique table/alias: 'news'
Gdzie mój błąd?
Zapytanie potrzebowałbym na teraz, a szef mi sie kręci za plecami i za bardzo nie mam jak pogrzebać w manualu.
BTW: Zapytanie stworzyłem EMS MySQL Managerem.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 16:13