Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Warunki w zapytaniu.
Forum PHP.pl > Forum > Bazy danych > MySQL
angel2953
Witam,

Mam takie zapytanie SQL:

Kod
SELECT t.id,
  t.forum_id,
  t.name AS topic_title,
  t.displays AS displays_count,
  t.replies AS replies_count,
  t.author_id AS topic_author_id,
  t.author_name AS topic_author_name2,
  t.last_post AS last_post_id,
  p.id,
  p.author_id AS last_post_author_id,
  p.author_name AS last_post_author_name2,
  p.timestamp AS last_post_timestamp,
  u.id,
  u.login AS last_post_author_name,
  u2.id,
  u2.login AS topic_author_name
FROM `topic`
AS t,
  `post` AS p,
  `user` AS u,
  `user` AS u2
WHERE ( t.forum_id = 1 AND p.id = t.last_post ) AND # i tutaj zaczynają się schody gdyż:
  #    jeśli p.author_id <> 0 wtedy musi być spełniony ten warunek u.id = p.author_id
  #    a jeśli p.author_id = 0 whtedy ten p.author_name <> ""
AND
  #    jeśli t.author_id <> 0 wtedy musi być spełniony ten warunek u2.id = t.author_id
  #    a jeśli t.author_id = 0 wtedy musi być spełniony ten warunek t.author_name <> ""
ORDER BY p.timestamp ASC;


W miescu komentarzy nie wiem jak sformułować ten warunek, by jeśli p.autor_id jest różne od zera to wtedy ma być dodane do klauzuli WHERE to: warunek u.id = p.author_id a jeśli nie jest różne to ma być dodane to: p.author_name <> "". I analogicznie z drugą częścią po AND

Może macie jakieś pomysły??
angel2953
Dzięki pomogło :]
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-2024 Invision Power Services, Inc.