Grzegorz M.

Grzegorz M. www.avatec.pl

Temat: Zapytanie z IF - problem

Witam,

mam zapytanie relacyjne:
SELECT * FROM tabela1 as a, tabela2 as b WHERE a.ident=b.ident AND b.type='VIEW' AND b.expire>='2011-07-25'
i teraz chciałbym dodatkowo pobrać z powyższych wpisów dodatkowo
SELECT * FROM tabela1 as a, tabela2 as b WHERE a.ident=b.ident AND b.type='MAIN' AND b.expire>='2011-07-25'

Tabela wygląda tak:
tabela1:
ident | name

tabela2:
ident | expire | type['VIEW','MAIN']

próbowałem zrobić warunek IF, jednak nie dokonca to dziala:

IF SELECT *
FROM table1 AS a, table2 AS b
WHERE b.type = 'VIEW'
AND b.expire >= '2011-07-25'
THEN
SELECT *
FROM table1 AS a, table2 AS b
WHERE a.ident = b.ident
AND (
b.expire>= '2011-07-25'
AND b.type = 'MAIN'
)
GROUP BY (
a.ident
)
ORDER BY RAND( ) ;

Czy ktoś wspomoże swoją wiedzą i pomoże rozwiązać ten problem ?

Podsumowując, bo nie wiem czy zabardzo nie zakręciłem:
Pierw pobieram wszystkie wpisy o type VIEW ktore date maja wiekszą bądź równą dacie 2011-07-25, następnie z tych pobranych, chce pobrać wszystkie o type 'MAIN' z datą równą 2011-07-25.

Edit:
Wymodziłem puki coś tak:

SELECT * , IF( b.pay_type = 'VIEW'
AND b.pay_expire >= '2011-07-25', "FALSE", "TRUE" ) AS paydis
FROM table1 AS a, table2 AS b
AS b
WHERE a.ident = b.pay_ident
AND (
b.pay_expire >= '2011-07-25'
AND b.pay_type = 'MAIN'
)
AND a.status = 'ACCEPT'
GROUP BY (
a.ident
)

co do działania, dopiero to sprawdzam, ale być może to będzie rozwiązanie :P jeżeli nie, nadal czekam na jakąś pomoc.Grzegorz M. edytował(a) ten post dnia 25.07.11 o godzinie 10:37