11. oktober 2005 - 20:57 Der er 9 kommentarer og
1 løsning

FULL OUTER også alligevel ikke

Jeg har 2 tabeller.
I begge tabeller har jeg et columnname som hedder "Fornavn".
Altså vi har:
TableEn.Fornavn og TableTo.Fornavn.
De kan begge indholde samme data såsom peter, niels, sjovert, osv.

Nu vil jeg have et udtræk på et enkelt column hvor den samler alt distinct fra TableEn.fornavn og TableTo.fornavn  og outputter det i en enkelt column.

Eksempel:
*******************
* TableEn.fornavn *
*******************
* Peter              *
* niels              *
* børge              *
*******************

*******************
* TableTo.fornavn *
*******************
* Peter              *
* noller          *
* Pia              *
*******************

*******************
* OUTPUT          *
*******************
* Peter              *
* niels              *
* børge              *
* noller          *
* Pia              *
*******************
11. oktober 2005 - 20:57 #1
Håber det er til at forstå

;)L
Avatar billede arne_v Ekspert
11. oktober 2005 - 21:02 #2
Er det ikke en UNIO du vil lave ?
Avatar billede arne_v Ekspert
11. oktober 2005 - 21:02 #3
(SELECT * FROM TableEn)
UNION
(SELECT * FROM TableTo)
Avatar billede arne_v Ekspert
11. oktober 2005 - 21:03 #4
(SELECT Fornavn FROM TableEn)
UNION
(SELECT Fornavn FROM TableTo)
11. oktober 2005 - 21:10 #5
Hej Arne.
Dit eksempel vser dem ikke "DISTINCT".
Ved brug af UNION viser den alt indholdet af begge tabeller.
Den outputtet skal være "DISTINCT" hvilket betyder at du først skal lave DISTINCT på begge tabeller og resultatet afdisse skal du så også vise "DISTINCT".
Avatar billede arne_v Ekspert
11. oktober 2005 - 21:14 #6
så vidt jeg ved tager UNION dem da DISTINCT og man skal eksplicit
bruge UNION ALL for at få duplikater
Avatar billede arne_v Ekspert
11. oktober 2005 - 21:16 #7
1> select f1 from t1
2> go
f1
-----------
          1
          2
          3

(3 rows affected)
1> (select f1 from t1)
2> union
3> (select f1 from t1)
4> go
f1
-----------
          1
          2
          3

(3 rows affected)
1> (select f1 from t1)
2> union all
3> (select f1 from t1)
4> go
f1
-----------
          1
          2
          3
          1
          2
          3

(6 rows affected)
11. oktober 2005 - 21:17 #8
Arne.
Du hr sgu ret.
Mange tak for det.

Her sidder man og har SQL'et i mange år og er stensikker på at UNION ikke vil kunne gøre det.
Og så... ARGH!!!

Pointene er dine

;)aL
11. oktober 2005 - 21:17 #9
Arne du skal lige svare...
Avatar billede arne_v Ekspert
11. oktober 2005 - 21:19 #10
kommer her
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester