![]() |
![]() ![]() |
![]() |
-lukasamd- |
![]()
Post
#1
|
Goście ![]() |
Witam,
czy da się uwarunkować jakoś zapytanie? Chcę wyciągnąć tabelę ostatnich postów z nieco egotycznego forum - mam tabelę z tematami z polami: - first_post_id - last_post_id Niestety jeżeli nie było żadnej odpowiedzi to w last_post_id pojawia się 0 przez co nie mogę jej powiązać z innymi tabelami (od postów i od userów) no i temat jest opuszczany. Czy dałoby się zrobić zapytanie o mniej- więcej takiej budowie:
Chodzi o to, iż w wypadku gdy last_post_id jest równe 0, pobierana byłaby wartość first_post_id zaś w przeciwnym samo last_post_id Da się? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Da się: http://dev.mysql.com/doc/refman/4.1/en/con...tml#function_if
-------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
-lukasamd- |
![]()
Post
#3
|
Goście ![]() |
A jak to dokładniej wrzucić? Dodanie tego do mojego zapytania select:
Nie daje rezultatów - tzn. skrypt działa ale tak jakby nadal było 0. Chciałbym zrozumieć co w tym wypadku daje IF - czy jeżeli prawda to pobiera a a gdy fałsz b czy co innego... EDIT: Wrzucenie:
też nic nie daje choć w wypadku 0 powinno ustawić na 1. Ten post edytował lukasamd 14.08.2008, 16:29:58 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
U mnie zapytanie:
działa prawidłowo. Na pewno w kolumnie last_post_id masz zera? Może jest tam NULL? -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
-lukasamd- |
![]()
Post
#5
|
Goście ![]() |
Wrzuciłem to co podałeś i sam warunek chyba działa, gdy jest fałsz to jest dobrze wybierane. Problem pojawia się gdy last_post_id = 0, powinno w last_post_id wrzucić wartość z first_post_id ale najwyraźniej tego nie robi bo tematów na liście nadal brakuje (tych bez odpowiedzi).
EDIT: Wygląda to tak, jakby nie działało przypisanie przez AS, podam całe zapytanie jakie mam:
Jak widać wartość uzyskiwana poprzez warunek jest stosowana także nieco dalej. EDIT2: Zrobiłem, powiązałem ze sobą numery id tematu w obu tabelach, potem pogrupowałem według tego pola:
Działa tak jak należy ![]() Ten post edytował lukasamd 15.08.2008, 09:42:53 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 02:40 |