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
sazian
post
Post #2





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


po pierwsze to że nie używasz nuli jest nieistotne

załóżmy że masz takie tabele

users:
userId|userName|groupId
1|user_1 |1
2|user_2 |5
3|user_10 |9

oraz tabela z grupami
groups:
groupId|groupName
1|pierwsza grupa


to zapytanie
  1. SELECT user_name, groupName
  2. FROM users u
  3. LEFT JOIN groups g ON g.groupId=u.groupId


da w wyniku
user_1|pierwsza grupa
user_2| NULL
user_10| NULL



jak widzę twoje zapytanie dalej jest bardo tajemnicze i pokazujesz tylko pod zapytanie (IMG:style_emoticons/default/wink.gif)
  1. IFNULL((SELECT user_name FROM ".DB_USERS." WHERE warunek=1 AND grupa_id=t1.grupa_id),'brak') AS abc


coś więcej naprawdę jest ciężko powiedzieć nie znając struktury bazy i zapytania głównego
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: 16.10.2025 - 20:46