Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [sql]zwykly select if
urbanson
post 25.10.2007, 19:59:23
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 15.10.2007
Skąd: Rotterdam

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


Hej czy ktos wie czy da sie to zrobic w jednym prostym pytaniu?
Zwykle proste uzycie IF w SELECT'CIE kombinuje na wszytkie sposoby ale kicha.

Przyklad:

SELECT X,Y FROM tabela WHERE user=zmienna IF....... questionmark.gif?

i teraz chodzi o to zeby jak user byl "tomek" to wyrzuca mi wartosci z pola X
a jak np. "basia" to wyrzuca mi wartosci z pola Y.

Bede wdzieczny za pomoc.

pozdrawiam
Tomek
Go to the top of the page
+Quote Post
drPayton
post 25.10.2007, 20:01:26
Post #2





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Google wie wszystko: mysql select if
pierwszy wynik:
http://dev.mysql.com/doc/refman/5.0/en/con...-functions.html
aaevil.gif

np:
  1. SELECT IF(user='Tomek', kolumna1, kolumna2) FROM tabela


Ten post edytował drPayton 25.10.2007, 20:07:37
Go to the top of the page
+Quote Post
urbanson
post 25.10.2007, 20:10:34
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 15.10.2007
Skąd: Rotterdam

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


no i polecialem z tym ale wywala mi blad


CASE WHEN [user='tomek'] THEN pole_x [WHEN [user='kasia] THEN pole_y] END GROUP BY pole_z

czy cos tu pomijam?
Go to the top of the page
+Quote Post
drPayton
post 25.10.2007, 20:15:22
Post #4





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Nawiasy kwadratowe oznaczają, że coś jest opcjonalne, tego się nie pisze biggrin.gif
  1. SELECT CASE WHEN user='tomek' THEN pole_x WHEN user='kasia' THEN pole_y END FROM tabela


Ten post edytował drPayton 25.10.2007, 20:15:39
Go to the top of the page
+Quote Post
urbanson
post 25.10.2007, 20:40:41
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 15.10.2007
Skąd: Rotterdam

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


cos sie knoci.
jest jakis program do budowy zapytan?
jakis MYSQL BUILDER czy cos takiego?zeby wyklikac takie warunki ?
Go to the top of the page
+Quote Post
drPayton
post 25.10.2007, 21:16:30
Post #6





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Co Ci się znowu knoci? Napisz konkretnie co chcesz dostać (nazwy pól, warunki, nazwa tabeli, grupowanie), zobaczymy.
A tak w ogóle to google działa (sprawdzałem przed chwilą) aaevil.gif
Go to the top of the page
+Quote Post
urbanson
post 25.10.2007, 22:20:52
Post #7





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 15.10.2007
Skąd: Rotterdam

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


Otoz tak
Tabela ma pola dzien_tygodnia, kasa1, kasax1.
jezeli w rekordzie w polu dzien_tygodnia jest wartosc "week" to wyrzuca sume wartosci z pol kasa1,
a jezeli dzien_tyogdnia ma wartosc "friday" to wyrzuca sume wartosci w rekordzie z pol kasa1 tam gdzie pole dzientyogdnia ma wartosc "week" i sume wartosci z pol kasax1 gdzie dzien_tygodnia to "friday

moze jasniej bedzie na przykladzie
id | dzien tyogdnia | kasa1 | kasax1
1. | week | 300 |
2. | week | 150 |
3. | friday | 200 |100
4. |friday | 130 |280

Chodzi zeby kiedy dzien tyogdnia jest rowny "week" to sumowal wszystkie wartosci kasa1 a jezeli jest dzien_tygodnia rowny "friday"
to sumuje wszystkie rekordy z kasa1 gdzie dzien_tygodnia jest rowny "week" ale tam gdzie_dzien tygodnia jest rowny "friday" bierze wartosci z pola kasax1.


czyli odnoscie do przykaldu :
dzien tygodnia = week
to suma badzie taka: 300+150+200+130
a jezeli dzien tygodnia = piatek
to suma bedzie taka: 300+150+100+280.
Chyba jasniej juz nie umiem.

Bede bardzo wdzieczny za pomoc.

w sumie to jeszcze prosciej
jak wartosc dzien_tygodnia rowna sie week to sumuje wszystkie kasa1.
a jezeli wartosc dzien_tygodnia=friday to tam gdzie w polu dzien_tygodnia jest frirady to sumuje wartosci kasax1.
z formularza bede przesylal wartosc dzien tyogdnia 'week' albo 'friday' a zapytanie bedzie tylko sprwdzalo czy ta wartosc jest rowna wartosci w polu dzien_tygodnia.


-------------------------
dodałem [tag] do tematu ponieważ
padły już odpowiedzi
na przyszłość pamiętaj, że dodawanie
[tag]u należy do Ciebie
~Cienki1980
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 20:26