Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: syntax do IF(expr) THEN cośtam; ELSE cośtam2;
Forum PHP.pl > Forum > Bazy danych > MySQL
paziek
Witam,

Mam takie oto zapytanie:
  1. SELECT COUNT( * ) AS `Rekordow` , d. *
  2. FROM `dokumenty` AS d
  3. GROUP BY `id`

Liczy ono ilość rekordów dla danego ID i wyciągane dane.

Liczy te rekordy, bo głównie ID ma tylko po 1 rekordzie, ale czasami jest więcej i wtedy już robie dodatkowe zapytanie w pętli i pobieram dane.
Chciałbym, aby w przypadku gdy rekordów jest więcej niż 1, to nie pobierało wszystkich danych z rekordu, bo i tak go znowu pobiore w pętli.
No i zacząłem googlować w poszukiwaniu jakiegoś IF ELSE dla MySQL. Coś niby znalazłem, ale wszystko generuje błędy.
W takim razie pytanie: Da się tak? Jeśli tak, to może ktoś zaprezentować działający przykład?


Disclaimer:
Zdaje sobie sprawę, że mogę wyciągnąć jakiś identyfikator z tych danych w pierwszym zapytaniu i po prostu ominąć ten konkretny rekord przy pętli, ale pytam bo może przyda się na przyszłość i nie ukrywam, że interesuje mnie takie zapytanie. Chciałbym dodać, że rozwiązanie typu PL/pgSQL mnie nie interesuje, zależy mi na "zwykłym" zapytaniu.
ddiceman
Nie wiem, czy dobrze Cie zrozumialem, ale chodzi Ci o pobranie tylko tych rekordow z tabeli, ktore maja niepowtarzalne ID (istnieje tylko jeden rekord z aktualnym ID)? Wtedy cos w stylu
  1. SELECT COUNT( * ) AS `Rekordow` , d. *
  2. FROM `dokumenty` AS d
  3. GROUP BY `id` HAVING `Rekordow`=1;
paziek
Tak, to by dało pożądany efekt, ale w sumie to chciałem się dowiedzieć, czy jest możliwe takie skryptowe IF ELSE

EDIT: W sumie, to wtedy nie wiedziałbym o wynikach mających Rekordow więcej niż 1. Taka droga naokoło, rozwiązuje jeden problem i tworzy kolejny 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.