Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dane z kilku baz naraz
Forum PHP.pl > Forum > Bazy danych > MySQL
janek999
Mam następujący problem:

Są trzy tabele w bazie danych:
- news
- blog
- videoblog

potrzebuję odczytać z owych tabel 4 (LIMIT 4) "najnowsze" (ORDER by data) wiersze.

Jak poprawnie i najlepiej napisać zapytanie do bazy aby odczytała ona te dane?

Próbowałem z łączeniem tabel ale nic nie wychodziło.
Proszę o pomoc to bardzo ważne.
Z góry dzięki.
skowron-line
Cytat(janek999 @ 8.12.2009, 19:36:33 ) *
Próbowałem z łączeniem tabel ale nic nie wychodziło.
Proszę o pomoc to bardzo ważne.


Tu wszyscy mają bardzo ważne problemy. A jak próbowałeś to pokaż do którego momentu doszedłeś.
janek999
Jasne już piszę:

Więc próbowałem tak:

  1. SELECT * FROM tabela.news FULL OUTER JOIN tabela.blog ON tabela.news.nr = tabela.blog.nr ORDER BY DATA DESC LIMIT 4


kod php zwracał mi błąd w pytaniu.
Wiem że łączenie tabel (w tym wypadku i tak tylko 2 a nie 3) na podstawie kolumny nr jest trochę bezsensowne i dlatego użyłem złączenia obustronnego. Na pewno jest jakieś łatwiejsze wyjście z sytuacji. Ale jakoś nie mogę go znaleźć.

Jeszcze raz proszę o pomoc
skowron-line
Cytat
kod php zwracał mi błąd w pytaniu.

Jaki questionmark.gif
janek999
Mam po prostu takie zapytanie:

  1. $result = mysql_query("SELECT * FROM tabela.news FULL OUTER JOIN tabela.blog ON tabela.news.nr = tabela.blog.nr ORDER BY DATA DESC LIMIT 4) or die
  2. ('Błąd w pytaniu: ');


Więc po prostu mam informację że w zapytaniu jest błąd.
phpion
Poczytaj o UNION.
Mchl
Może pora na edytor z kolorowaniem składni? Brakuje Ci cudzysłowu na końcu pierwszej linii.

  1. $result = mysql_query("SELECT * FROM tabela.news FULL OUTER JOIN tabela.blog ON tabela.news.nr = tabela.blog.nr ORDER BY DATA DESC LIMIT 4")
  2. or die (mysql_error()); //mysql_error pokaże szczegóły błędu, co jest bardziej przydatne niż sama informacja, że błąd wystąpił

janek999
Dzięki zaraz sprawdzę jaki konkretnie błąd wyżuca. A co do cudzusłowiu to mam go w kodzie, to błąd przy kopiowaniu smile.gif


Dobra serwer mySQL zwraca mi taki błąd:

  1. You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MySQL server version FOR the RIGHT syntax TO USE near 'OUTER JOIN opole2050_3.blog ON opole2050_3.news.nr = opole2050_3.blog.nr ORDER B' at line 1
someone.cool
takie moze głupie pytanie - a co zwraca klient mysql ?
Mchl
MySQL nie obsługuje FULL OUTER JOIN. Musisz zrobić unię złączenia lewego i prawego.
janek999
Ok czyli konkretnie jak? Wiesz nie jestem dobry z języka SQL
Wicepsik
Już ktoś wyżej powiedział Ci czego masz użyć. Teraz poszukaj tego w manualu....
janek999
Dzięki Mchl
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.