20. marts 2011 - 23:11Der er
4 kommentarer og 1 løsning
Select statment
Hej,
Jeg har 2 tabeller tbl1 og tbl2 og jeg har nedenstående problemstilling.
select case when tbl1.name <> tbl2.name then end t from (name from tbl1 union name from tbl2)
Problemmet er hvordan jeg refere til de enkelte under tabeller fra min hoved select statment. ? jeg kan nemlig ikke sige "tbl1.name", men kun bruge "name" i min hoved select statment.
Ja Name findes ikke begge tabeller, men jeg vil være sikker på at jeg kalder name i tbl1 og ikke i tbl2.
select tbl1.name from (name from tbl1 union name from tbl2)
Jeg kan nemlig ikke gør ovenstående, jeg vil gerne have returneret "name" fra tbl1, og hvis ikke den findes skal der retuneres null.
Synes godt om
Slettet bruger
21. marts 2011 - 15:34#3
Hej ihtezaz
Så du vil egentlig have en liste med navne fra begge tabeller. Men kun i det tilfælde at navnet ligger i TBL1, vil du have vist navnet. Ellers skal det være skjult.
SELECT CASE WHEN skjul = 'NEJ' THEN NAME ELSE NULL END NAME FROM ( SELECT NAME, 'NEJ' skjul FROM TBL1 UNION ALL SELECT NAME, 'JA' skjul FROM TBL2 );
Ok, mente nok det ikke kunne gøres på anden vis, altså på nemmere måde end selv at lave en dummy kolonne som man spørge på. Havde jo været nice hvis man bare kunne sige
select tbl1.name fra hoved select statment. Men du får points.
Synes godt om
Slettet bruger
22. marts 2011 - 22:40#5
Tak for pointsene. Den nemmeste løsning ville jo være, slet ikke at læse tabel 2.
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.