Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [sql]zwykly select if
Forum PHP.pl > Forum > Przedszkole
urbanson
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
drPayton
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
urbanson
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?
drPayton
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
urbanson
cos sie knoci.
jest jakis program do budowy zapytan?
jakis MYSQL BUILDER czy cos takiego?zeby wyklikac takie warunki ?
drPayton
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
urbanson
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
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.