Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]połączenie dwóch zapytań z jednej tabeli
Forum PHP.pl > Forum > Przedszkole
falent
Co robię źle? Czy jest w ogóle możliwe połączenie dwóch zapytań ale oba inaczej posortowane?



Kod
$a="SELECT * FROM application  (WHERE (sex='M' and c='1') ORDER BY  distance DESC , situation DESC, pref1 ASC) ";  
$b="(WHERE (sex='M' and d='1') ORDER BY  distance DESC , pref1 ASC) ";
        $result = mysql_query("".$a." AND ".$b)

lukesh
To, co próbujesz zrobić, jest niemożliwe. Nie rozumiem, skąd w ogóle taki pomysł, żeby pisać tak dziwne zapytanie?
falent


Udało mi się zrobić coś takiego

  1. $resultF = mysql_query("SELECT FROM ap WHERE (sex='F' and pref1='1') GROUP BY situation DESC, distance DESC UNION ALL SELECT * FROM ap WHERE (sex='F' and pref2='1' and situation='') GROUP BY distance DESC UNION ALL SELECT * FROM ap WHERE (sex='F' and pref2='3' and situation='') GROUP BY distance DESC LIMIT 15 "
  2.  
  3. $resultM = mysql_query("SELECT FROM ap WHERE (sex='M' and pref1='1') GROUP BY situation DESC, distance DESC UNION ALL SELECT * FROM ap WHERE (sex='M' and pref2='1' and situation='') GROUP BY distance DESC UNION ALL SELECT * FROM ap WHERE (sex='M' and pref2='3' and situation='') GROUP BY distance DESC LIMIT 10 "


Czy da się to połączyć do jednego zapytania i wyłączyć przed wszystko

  1. SELECT DISTINCT "nr" FROM "ap"


Nie mogą mi się powtarzać numery (nr)
lukesh
Połączyć możesz dwie tabele razem ze sobą korzystając z JOIN. Z tego co widzę, to Ty nie chcesz łączyć dwóch tabel, tylko mieć wszystkie wyniki w jednej zmiennej. Dlaczego po prostu nie wykonasz jednego zapytania, żeby pobrać wszystkie te dane? Z tego co widzę, to oba zapytania są niemal takie same. Jedyna różnica to płeć.
Zamiast:

  1. sex='F'


Możesz po prostu dać:

  1. (sex='F' OR sex='M')


Potem w ogóle pozbądź się drugiego zapytania.

Tak chyba będzie najprościej...
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.