Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL]Union i klauzura WHERE
Forum PHP.pl > Forum > Przedszkole
Larges
Witam, prosiłbym o odpowiedź na teoretyczne pytanie.
Przyjdzie mi zmierzyć się z łączeniem dwóch tabel za pomocą UNION. Obie mają identyczne budowy w 100% łącznie z postawionymi indeksami ale służą ciut do czego innego - jedna jest ogromna druga malutka - ta druga jest częściej wykorzystywana bo działa znacznie szybciej.

I moje pytanie brzmi jak połączyć tabelę i zastosować klauzurę WHERE

np.

tabela_1
id, tytul

tabela_2
id, tytl

Kod
mysql_query("SELECT id, tytul FROM tabela_1 UNION SELECT id, tytul FROM tabela_2 WHERE id<100 ORDER BY tytul")


- czy to jest poprawne? Domyślam się że nie bo analogiczne nie działa ;]

Kod
mysql_query("SELECT id, tytul FROM tabela_1 UNION SELECT id, tytul FROM tabela_2 WHERE tabela_1.id<100 AND tabela_2.id ORDER BY tabela_1.tytul AND tabela_2.tytul")


?
Dzięki za pomoc dry.gif
phpion
Za pomocą UNION łączysz wyniki kilku zupełnie niezależnych SELECTów. Nie możesz więc w jednym z nich odwoływać się do drugiego. Jeżeli chcesz nadać jakieś warunki to zrób to w poszczególnych SELECTach lub już poza UNION używając konstrukcji:
  1. SELECT * FROM (SELECT ... UNION SELECT...) t WHERE t.pole > 100;
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.