29. marts 2006 - 20:32Der er
9 kommentarer og 2 løsninger
sql med if?
Hej,
Jeg er atter på grænsen af hvad jeg formår og må derfor ty til eksperthjælp:
Jeg vil gerne lave et sql-udtræk der trækker attributter på baggrund af en enkelt attributs værdi:
SELECT t1.Pk_ID, t1.fornavn, t1.efternavn, t1.arbejdsadresseprimaer FROM tabel1 AS t1
If t1.arbejdsadresseprimaer = 1 then SELECT t2.vejnavn, t2.by FROM tabel2 AS t2 WHERE t2.adressetype = 'arbejde' If t1.arbejdsadresseprimaer = 0 then SELECT t2.vejnavn, t2.by FROM tabel2 AS t2 WHERE t2.adressetype = 'privat'
Kan det lade sig gøre?
Udtrækket skal anvendes i et access projekt og vil have 100000 medlemmer. Vil det ikke være performancemæssigt korrekt at foretage ovenstående på databasesiden fremfor i Access?
SELECT t1.Pk_ID, t1.fornavn, t1.efternavn, t1.arbejdsadresseprimaer, t2.vejnavn, t2.by FROM tabel1 AS t1 INNER JOIN tabel2 AS t2 ON t2.adressetype = CASE WHEN t1.arbejdsadresseprimaer = 0 THEN 'privat' ELSE 'arbejde' END
SELECT t1.Pk_ID, t1.fornavn, t1.efternavn, t1.arbejdsadresseprimaer, t2.vejnavn, t2.by FROM tabel1 AS t1 INNER JOIN tabel2 AS t2 ON t1.arbejdsadresseprimaer = CASE t2.adressetype WHEN 'privat' THEN 0 WHEN 'arbejde' THEN 1 END
Ah, nej, det er vist forståeligt, hvis det ikke lige klikker. Jeg havde ikke lige lagt mærke til datoen. Ak ja, som tiden går! LOL
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.