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