Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak wyciagnac z kilku tabel ta sama informacje.
Forum PHP.pl > Forum > Bazy danych > MySQL
Ardo
Mam takie pytanie jako laik nie bardzo sobie z tym radze, dlatego licze na wasza podpowiedz.

Mam np. 4 tabele, w każdej tabeli sa ogłoszenia promowane. Jak zadac zapytanie, by z tych 4 tabel wyciągnąć wszystkie ogłoszenia promowane. Tak by można było je wyświetlić za jednym razem, a nie oddzielnie.
Nie wiem czy jasno opisałem, ale mam nadzieje że na tyle dobrze.

Bardzo proszę o pomoc jakis przykładowe zapytanie które by to spełniało.
mortus
  1. SELECT `t1`.*, 'tabela1' AS `z_tabeli` FROM `tabela1` `t1` WHERE `t1`.`promowane` = 1
  2. UNION
  3. SELECT `t2`.*, 'tabela2' AS `z_tabeli` FROM `tabela2` `t2` WHERE `t2`.`promowane` = 1
  4. UNION
  5. ...
Ardo
dzieki za przykald tylko mam pytanie zastosowałem ten schemat pytania do moje i nie bardzo dziala cos chyba zle jest tylko co podpowiesz.


  1. SELECT `t1` . * , 'obPromo' AS `budowlane` FROM `budowlane` `t1` WHERE `t1`.`obPromo` =1
  2. UNION
  3. SELECT `t2`.*, 'odPromo' AS `ciezarowe` FROM `ciezarowe` `t2` WHERE `t2`.`odPromo` = 1


wyskakjue taki blad:
The used SELECT statements have a different number of columns


domyslam sie ze tabele musza miec tyle sama ilosc kolumn a to niesety z tym zapytaniem chyba nie przejdzie bo taebla np budowlane ma inna ilosc kolumn niz tabela ciezarowe.
Tu jest ten problem ? czy raczej co innego jest przyczyna ze nie dziala?
mortus
Oba zapytania SELECT muszą pobierać jednakową liczbę kolum (zapomniałem o tym wspomnieć), czyli dla przykładu:
  1. SELECT `t1`.`id`, `t1`.`name`, 'tabela1' AS `z_tabeli` FROM `tabela1` `t1` WHERE `t1`.`promowane` = 1
  2. UNION
  3. SELECT `t2`.`id`, `t2`.`name`, 'tabela2' AS `z_tabeli` FROM `tabela2` `t2` WHERE `t2`.`promowane` = 1
  4. UNION
  5. ...
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.