![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Witam, od dłuższego czasu męczę się ze złożonym zapytaniem...
Mam w mysql następujące tabele: users: id, name, password news: id, author_id, subject, content, time comments: id, news_id, author_id, subject, content, time Potrzebuję wyciągnąć tak: `news`.`subject`, `news`.`content`, `news`.`time` `users`.`name` I ilość komentarzy dla danego news'a. Ja wyskrobałem coś takiego:
Lecz jeżeli nie ma komentarzy to nie wyświetla... Nie wiem jak to ugryźć ;/ |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
bo comments nalezy połączyc przez LEFT JOIN a nie FROM
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Ja wymodziłem coś takiego...
Co do joinów, szczerze mówiąc nie korzystałem więc nie potrafię. Pytanko, czy z joinami będzie szybciej pobierał dane (przy większych ilościach) ? Czy mógłbyś mi pokazać przykład? |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
wszystko masz tu opisane
http://dev.mysql.com/doc/refman/5.0/en/join.html |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Kombinuję z tym LEFT JOIN, efekt podobny jak to co podał kolega. Mysql twierdzi, że:
Kod MySQL zwrócił komunikat: Dokumentacja
#1054 - Nieznana kolumna 'news.id' w on clause |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
nie:
`news`, `users` a: (`news`, `users`) poza tym users tez mozesz dac jako left join |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Już prawie...
Jednak źle pokazuje mi ilość komentarzy. @edit Mój głupi błąd... Miało być LEFT JOIN `comments` ON(`news`.`id` = `comments`.`news_id`) Dziękuję za pomoc. Ten post edytował fifi209 2.11.2009, 22:00:27 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 12:49 |