Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mySQL] zapytanie łączące 2 tabele
Forum PHP.pl > Forum > Bazy danych
cinnek
Mam problem i nie umiem sobie z nim poradzic moze to proste ale ja juz wymiękam.


Mam 2 Tabele połączone jakims id np.

tabela1: aaa | id
tabela2: bbb | id


i chodzi mi o zapytanie takie żeby wypisywało aaa | bbb, natomiast jeśli w tabeli1 w polu id jest NULL to żeby wypisało aaa | NULL


czyli wyniki maja mniej wiecej wyglądać tak:

ala | dom
ola | samochod
kasia | null
zosia | pralka

Mam nadzieje ze kumacie o co mi chodzi



wiem że trzeba użyc ifa ale nie wiem jak.


Z góry dzieki za pomoc
shaun
  1. <?php
  2. $sql = &#092;"SELECT
  3. a.kolumna, b.inna_kolumna
  4. FROM `tabela1` a, `tabela2` b
  5. WHERE a.id = b.id&#092;";
  6. ?>

nie wiem czy o to Ci chodzi...?
cinnek
Niestety nie o to mi chodziło , w sumie ma to byc coś podobnego tylko jesli w pierwszej tebeli bedzie null to ma dac cały rekord z tej pierwszej tabeli
pauluZ
Wyczuwam tutaj klasyczny problem - pomijanie rekordów które nie zawierają wszystkich danych ... czyli np. rekordów gdzie powiązanie do drugiej tabeli nie oddaje żadnego wyniku ...

Rozwiązanie to wykorzystanie JOIN.

Nieco jest tutaj:
http://www.w3schools.com/sql/sql_join.asp

  1. SELECT Employees.Name, Orders.Product
  2. FROM Employees LEFT JOIN Orders ON Employees.Employee_ID=Orders.Employee_ID


Jeśli tabela Employees zawiera rekordy które nie mają połączenia do
tabeli Orders to i tak rekordy te zostaną zwrócone ale będą miały
pustą wartość.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.