Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL]połączenie 2 zapytań
Forum PHP.pl > Forum > Przedszkole
wpaski
Jak można połączyć te 2 zapytania?

  1. $sql = "SELECT id_obiekt,id_cat,id_user,obiekty_nazwa_obiektu, obiekty_miejscowosc, obiekty_adres,
  2. obiekty_email, obiekty_telefon, obiekty_strona_www, obiekty_typ_obiektow, obiekty_cena, obiekty_opis,
  3. obiekty_cennik_i_rezerwacja, obiekty_promocje, obiekty_lokalizacja,data FROM(SELECT * FROM ".PREFIX."obiekty
  4. ORDER BY data DESC LIMIT $limit, $onpage) AS al ORDER BY RAND()";
  5.  
  6.  
  7. $sql_zdjecie = "SELECT ".PREFIX."obiekty.id_obiekt,id_cat,".PREFIX."obiekty.id_user,obiekty_nazwa_obiektu,
  8. obiekty_miejscowosc, obiekty_adres, obiekty_email, obiekty_telefon, obiekty_strona_www, obiekty_typ_obiektow,
  9. obiekty_cena, obiekty_opis, obiekty_cennik_i_rezerwacja, obiekty_promocje, obiekty_lokalizacja,data, min_zdjecie,
  10. max_zdjecie FROM ".PREFIX."obiekty INNER JOIN ".PREFIX."obiekty_galeria ON
  11. ".PREFIX."obiekty.id_obiekt = ".PREFIX."obiekty_galeria.id_obiekt where id_cat=$id_cat GROUP BY
  12. baza_jakas_obiekty_galeria.id_obiekt";


lub też jak zrobić, żeby gdy wykonuje taką instrukcję:
  1. while ($row = mysql_fetch_assoc($result)) {

i odwołuje się do 1 zapytania, gdy użyje 2 zapytanie w pętli while to pobiera tylko 1 rekord, może troche to zagmatwałem, ale proszę o pomoc





jeszcze probowałem tak:
  1. while ($row = mysql_fetch_assoc($result) AND $row2 = mysql_fetch_assoc($result2) ) {

ale nie działa, czy ten zapis jest poprawny czy nie można takiego stosować?
mmmmmmm
Połączyć wyniki zapytań możesz stosując UNION (UNION ALL). Ale oba wyniki muszą mieć taką samą liczbę kolumn i tego samego typu.
A drugie zapytanie zwraca ci tylko jeden rekord bo masz tam GROUP BY. Nie wiem, czy wiesz ale tak skopane zapytanie przejdzie tylko na MySQL-u...
jaslanin
1. Pierwsza rzecz jaka się narzuca to nieczytelny kod. Nikomu raczej nie będzie się chciało zadawać trudu pomocy Tobie, jeżeli będziesz przesyłał tak beznadziejnie nieczytelny kod. A wystarczyło by użyć np. http://www.dpriver.com/pp/sqlformat.htm
2. Wstawiłeś zapytania do tagów SQL, mimo to iż kodem SQL nie są. To jest zwykły kawałek kodu PHP z wrzuconymi dwoma zapytaniami SQL.
3. Nie jest poprawny. AND to operacja logiczna.
4. Te dwa zapytania można "połączyć" na nieskończenie wiele sposobów, które dadzą nieskończenie wiele różnych wyników. Tobie chodzi prawdopodobnie o jeden bardzo konkretny zbiór wyników które to NOWE zapytania podobne do tych dwóch ma robić.

Oczywiście, żeby było łatwiej odp. na Twoje pytanie, nie piszesz co chcesz osiągnąć. Jakie wyniki mają być zwracane. Nie podajesz zrzutu przykładowej bazy danych i wyniku jaki chciałbyś osiągnąć. Wyjaśniając przy tym logikę, zasady które generują takie, a nie inne wyniki na bazie posiadanych danych.
wpaski
dziękuje za odpowiedzi, nie wiedziałem o takim narzędziu które tak znacznie zwiększa czytelność kodu na forum, ale już wiem.
Z zapytaniami sobie już poradziłem, jednak

Cytat
Nie wiem, czy wiesz ale tak skopane zapytanie przejdzie tylko na MySQL-u


Co w nim jest tak bardzo skopanego? Dlaczego na MySQL-u przejdzie a na innych rodzajach baz danych nie?
mmmmmmm
Poczytaj co ma "specyficznego" MySQL z grupowaniem, czego inne bazy nie mają. I zastanów się czemu nie mają...
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.