Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: UNION i WHERE [PHP][MySQL]
Forum PHP.pl > Forum > PHP
RABP
Witam,

Pytanko: Czy ktoś może wie w jaki sposób połączyć 2 różne tabele za pomocą UNION oraz dodać warunek WHERE?

Struktura tabel jest następująca:

Tabela REGIONY: id_regionu, nazwa_regionu, url_regionu
Tabela KATEGORIE OBIEKTU: id_kategorii_obiektu, nazwa_kategorii_obiektu, url_kategorii_obiektu

To, co do tej pory próbowałem, to:

  1. $pobierz_kategorie = "
  2.  
  3. (SELECT `nazwa_regionu` AS `nazwa`, `url_kategorii` AS `url` FROM `regiony)
  4.  
  5. UNION
  6.  
  7. (SELECT `nazwa_kategorii_obiektu` AS `nazwa`, `url_kategorii_obiektu` AS `url` FROM `kategorie_obiektu`)
  8.  
  9. WHERE
  10.  
  11. `url`='$_GET['przykladowy_url']'
  12.  
  13. ";


Jakoś nie mogę tego rozkminić.
Może ktoś ma jakiś pomysł?
mar1aczi
Sprawdź:
  1. $pobierz_kategorie = "
  2. select * from (
  3. (SELECT `nazwa_regionu` AS `nazwa`, `url_kategorii` AS `url` FROM `regiony)
  4. UNION
  5. (SELECT `nazwa_kategorii_obiektu` AS `nazwa`, `url_kategorii_obiektu` AS `url` FROM `kategorie_obiektu`)
  6. )
  7. WHERE
  8. `url`='$_GET['przykladowy_url']'
  9. ";
RABP
Rozkminiłem!
mar1aczi, dziękuję za podpowiedź!
Potrzeba było tylko jeszcze nadać alias dla nowo utworzonej tabeli i dopiero zaaplikować warunek.

Oto całość:

  1. $pobierz_kategorie = "
  2.  
  3. SELECT * FROM
  4. (
  5.  
  6. (SELECT `nazwa_regionu` AS `nazwa`, `url_regionu` AS `url` FROM `regiony`)
  7.  
  8. UNION
  9.  
  10. (SELECT `nazwa_kategorii_obiektu` AS `nazwa`, `url_kategorii_obiektu` AS `url` FROM `kategorie_obiektu`)
  11.  
  12. )
  13.  
  14. AS
  15.  
  16. `kategorie`
  17.  
  18. WHERE
  19.  
  20. kategorie.url='$_GET['przykladowy_url']'
  21.  
  22. ";


TEMAT ZAMKNIĘTY
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.