Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] Problem z INNER JOIN, złączenie 2 tabeli
wbijok
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 28.02.2007

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


Witam, proszę o pomoc w prawidłowym złączeniu tabelek.

Posiadam dwie tabelki:
  1. CREATE TABLE IF NOT EXISTS `zakwaterowania` (
  2. `id` int(255) NOT NULL AUTO_INCREMENT,
  3. `nazwa` varchar(255) NOT NULL,
  4. PRIMARY KEY (`id`)
  5. )

W sumie 52 rekordy.

  1. CREATE TABLE IF NOT EXISTS `hotel_l` (
  2. `id` int(255) NOT NULL AUTO_INCREMENT,
  3. `id_oferta` int(255) NOT NULL,
  4. `id_hotel` int(255) NOT NULL,
  5. PRIMARY KEY (`id`)
  6. )

Oraz tabelka informująca o przypisaniu rodzaju zakwaterowania do oferty. 11 rekordów.

Wyciągam z nich dane za pomocą:
  1. SELECT * FROM hotel_l RIGHT OUTER JOIN zakwaterowania ON (hotel_l.id_hotel = zakwaterowania.id)

Przy czym chciałbym wyświetlić 52 rekordy z nazwą zakwaterowania w formie checkboxów wraz z informacją, który checkbox jest zaznaczony. Problem polega na tym, że powyższy kod wyświetla mi 56 rekordów. Zdublowane 4 rekordy. A powinno być 52 rekordy. Jak to ugryźć? Wiem, że muszę dodać jakieś ograniczenie do zapytania typu where id_oferta = NR_OFERTY aktualnie wyświetlanej. Tylko, żeby nie ograniczyło mi to ilość checkboxu do paru, powinno zostać 52 i parę zaznaczonych, które mają w tabeli hotel_l przypisane id_oferta.

Oto fragment złączonej, zdublowanej tabelki:
  1. id id_oferta id_hotel id nazwa
  2. 15 21 72 72 ELENA - pok. 2os.
  3. 18 21 74 74 NINA - pok. 2os. i 3os.
  4. 16 21 68 68 Akademik - pok. 3-os.
  5. 25 15 74 74 NINA - pok. 2os. i 3os.
  6. 21 15 68 68 Akademik - pok. 3-os.
  7. 22 15 72 72 ELENA - pok. 2os.
  8. NULL NULL NULL 77 Hotel *** - pok. 3os
  9. NULL NULL NULL 23 Stefanov III

Powtarza się elena, nina, akademik i inne, które wywaliłem.

Ten post edytował wbijok 19.01.2012, 11:49:47
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 16.09.2025 - 11:17