Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> SELECT z nietypowym warunkiem
zkwc
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 6.03.2013

Ostrzeżenie: (0%)
-----


Witam Wszystkich,
Poszukuję najprostszego rozwiązania do poniższego problemu:
Z poniższej tabeli potrzebuję pobrać rekordy dla wszystkich zamówień (ord) gdzie typ = 'wysylka' (gdy 'wysylka' nie występuje należy pobrać rekord dla 'billing')

lp ord typ miasto
1 1 billing wroclaw
2 2 billing krakow
3 3 billing warszawa
4 3 wysylka lodz
5 4 billing poznan
6 5 billing krakow
7 5 wysylka katowice

Tabela wyjściowa powinna wyglądać następująco:

lp ord typ miasto
1 1 billing wroclaw
2 2 billing krakow
4 3 wysylka lodz
5 4 billing poznan
7 5 wysylka katowice

Z góry dzięki.
Pozdrawiam,
zkwc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lexis72
post
Post #2





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 25.02.2013

Ostrzeżenie: (0%)
-----


Ok juz wiem o co chodzi z tymi 2 kolumnami ale to ciagle nie dziala.... Poprawne zapytanie powinno zatem wygladac tak :

  1. (SELECT IFNULL(user_name,'brak') FROM ".DB_WYNIKI." LEFT JOIN ".DB_USERS." USING(user_id) WHERE warunek=1 AND grupa_id=t1.grupa_id) AS abc


Nie wywala juz zadnego bledu ale nie zwraca tez tekstu 'brak' gdy nie znajdzie wyniku. Po prostu te zapytanie zwroci 'brak' tylko w przypadku kiedy ten rekord bedzie mial wartosc NULL a nie w przypadku kiedy bedzie PUSTY lub gdy w ogole takiego rekordu NIE BEDZIE w bazie.

A w mojej bazie nie uzywam nulli po prostu jak czegos nie ma to komorka pozostaje pusta.. I chodzi mi o to ze jak jest pusta to zeby zwracal tekst albo jak nie ma rekordu spelniajacego te kryteria to zeby wyswietlalo ten tekst.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 10:41