Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][Mysq] problem z dwoma tabelami i join left :]
kt1
post 16.01.2008, 21:55:41
Post #1





Grupa: Zarejestrowani
Postów: 131
Pomógł: 3
Dołączył: 9.02.2006
Skąd: moree.webd.pl

Ostrzeżenie: (10%)
X----


Witam mam taki problemik
mam dwie tabele

  1. <?php
  2. CREATE TABLE EXISTS `kategoria` (
  3. `id` int(11) NOT NULL auto_increment,
  4. `nazwa` varchar(70) default NULL,
  5. PRIMARY KEY (`id`)
  6. );
  7.  
  8. CREATE TABLE `arty` (
  9. `id` int(13) NOT NULL auto_increment,
  10. `autor` varchar(30) default NULL,
  11. `tytul` varchar(60) default NULL,
  12. `idkat` int(10) unsigned default NULL,
  13. PRIMARY KEY (`id`)
  14. ) ;
  15. ?>


i chce zrobić coś takiego w jednym zapytaniu

pokazywało by się
kategoria i jakijest rekord przepisany do tej kategori
np :
jak mam kategoria LCD
to było by tak
LCD
lcd 19
lcd 18

Tunery
cyfrowe
analogowe
i mam taki problem
próbowałem cos z join left

  1. <?php
  2. select art.*, kategoria.* from arty left join kategoria on arty.id = kategoria.idkat
  3. ?>



help mi


--------------------
Jeśli masz jakieś fajne tutki albo coś inne związane z php mysql AJAX to wejdź
tu WEJDZ TU I DODAJ !!! :)
Go to the top of the page
+Quote Post
nevt
post 16.01.2008, 22:07:36
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


pomieszałeś tabele i pola...
  1. SELECT * FROM `arty` LEFT JOIN `kategoria` ON `arty`.`idkat` = `kategoria`.`id`;

powodzenia.

EDIT: brakowało jednej spacji, gdzieś uciekła przy przepisywaniu kodu... kt1 - twoja wersja z WHERE nie zwróci rekordów bez przypisanej kategorii, albo z jakąś starą kategorią której nie będzie w tabeli `kategoria` - i dlatego LEFT JOIN jest bardziej wskazany w tego typu zapytaniach, poza tym JOIN przy odpowiednio założonych kluczach jest wydajniejszy...

Ten post edytował nevt 17.01.2008, 01:12:02


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
kt1
post 16.01.2008, 22:12:30
Post #3





Grupa: Zarejestrowani
Postów: 131
Pomógł: 3
Dołączył: 9.02.2006
Skąd: moree.webd.pl

Ostrzeżenie: (10%)
X----


oka poradziłem sobie smile.gif
  1. <?php
  2. FROM ksiazki u, kategoria p
  3. WHERE p.id=u.idkat
  4. ?>


Ten post edytował kt1 16.01.2008, 22:33:14


--------------------
Jeśli masz jakieś fajne tutki albo coś inne związane z php mysql AJAX to wejdź
tu WEJDZ TU I DODAJ !!! :)
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:08