Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak zrobic takie zapytanie
Forum PHP.pl > Forum > Bazy danych > MySQL
blizniak
witam
przykladowo mam

  1. <?php
  2. mysql_query("SELECT * FROM sprzedarz where wojewodztwo='$wojewodztwo' ")
  3. ?>


i teraz jak zrobic zeby zapytanie to zwrocilo mi w pierwszej kolejnosci wojewdztwo=wielkopolskie a pozniej pozostale wojewodztwa w bazie

przyklad
id nazwa wojewodztwo
1 aaaaa malopolskie
2 bbbbb wielkopolskie
3 cccccc mazowieckie
4 ddddd lodzkie
5 eeeee wielkopolskie

wynik
bbbbb wielkopolskie
eeeee wielkopolskie
a pozniej pozostale bez roznicy w jakiej kolejnosci
Norbas
Można zastosować UNION:
  1. SELECT *
  2. FROM sprzedarz WHERE wojewodztwo='wielkopolskie'
  3. UNION
  4. SELECT *
  5. FROM sprzedarz WHERE wojewodztwo<>'wielkopolskie'
blizniak
  1. <?php
  2. $wynik=mysql_query(" SELECT * FROM sprzedarz WHERE powiat='151' UNION SELECT * FROM sprzedarz WHERE powiat<>'151' ");
  3. $znalezionych = mysql_num_rows($wynik);
  4. ?>




Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\usr\apache\httpd\html\index.php on line 455
co jest nie tak ?
DeyV
skorzystaj z mysql_error w celu sprawdzenia, jaki błąd się pojawił w tym zapytaniu.


Swoją drogą - można to zrobić jeszcze inaczej - ciekaw jestem, czy wydajniej, czy nie.

  1. SELECT * ,
  2. ( IF( powiat = 151 , true, false ) AS MojPowiat
  3. FROM sprzedarz ORDER BY MojPowiat, powiat
blizniak
male sprostowanie do odpowiedzi
to rozwiazanie
  1. SELECT *
  2. FROM sprzedarz WHERE wojewodztwo='wielkopolskie'
  3. UNION
  4. SELECT *
  5. FROM sprzedarz WHERE wojewodztwo<>'wielkopolskie'

moze bedzie dzialac ale dopiero od mysql w wersji 4 poniewaz tam dopiero jest UNION


a to
  1. SELECT * ,
  2. ( IF( powiat = 151 , true, false ) AS MojPowiat
  3. FROM sprzedarz ORDER BY MojPowiat, powiat


dziala po zamienieniu true na 1 i false na 0 smile.gif
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.