![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 1.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam
w jaki sposób najbardziej optymalnie wyświetlić dane z 2 tabel z jakimś warunkiem i sortowaniem ? t1 = id,nazwa t2 = id,nazwa Ten post edytował zundap 22.03.2011, 08:32:42 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 30 Dołączył: 19.02.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Pozwól bazie danych podpowiedzieć Ci co się dzieje:
$result = mysql_query("SELECT * FROM t1 UNION SELECT * FROM t2") or die (mysql_error()); Inna metoda: "Wątpliwą" kwerendę wykonaj spod phpMyAdmin. Na ogół wystarczy odczytać wyświetlony "protest" i stosownie zareagować. Na "mojego nosa": Tabele t1 i t2 mają "niepokrywające się" atrybuty i wtedy: 1. Baza ciągnie dane z t1 - na razie OK. 2. Baza próbuje doczytać rekordy z t2. 3. Któreś kolumny z t2 "nie pasują" do listy kolumn ciągniętych z t1 i kwerenda się wywala. Albo w t2 są jakieś "dodatkowe" atrybuty w stosunku do t1, albo odwrotnie (czegoś nie ma). Rada: Zamiast "*" podaj jawnie listę pól do odczytu. Jeszcze jedna uwaga: Czasem się zapomina, że UNION domyślnie eliminuje powtórzone rekordy. Aby to zablokować zmień na UNION ALL. Ten post edytował Valdi_B 24.03.2011, 09:46:36 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 18:36 |