Avatar billede funtex Nybegynder
13. november 2006 - 10:32 Der er 8 kommentarer og
1 løsning

Hvilken tabel kommer Column fra i join select statement?

Hej,

Er der nogen måde jeg kan finde ud af hvilken tabel en given column kommer fra i et join statemet?

Det kan selvfølgelig løses ved at lave flere opslag, men jeg er interesseret i kunne at lave et opslag

Feks.

select * from table RIGHT JOIN table2 ON table.val1=table2.val1

giver feks

val1 | val2 | val3 | val1 | val2

Jeg ønsker så at finde ud af hvilken table der indeholder hvilke columns


//Funtex
Avatar billede terry Ekspert
13. november 2006 - 10:36 #1
Your only selecting from table

select * from table
Avatar billede funtex Nybegynder
13. november 2006 - 10:45 #2
Hi terry,

That is not a option here. I want to make a single select statement and I need the data from both tables

//Funtex
Avatar billede terry Ekspert
13. november 2006 - 10:52 #3
select table.*, table2.* from ....
Avatar billede terry Ekspert
13. november 2006 - 10:55 #4
Your question is a little ambiguous (flertydig), not quite sure I understand what you want
Avatar billede funtex Nybegynder
13. november 2006 - 11:05 #5
Hi Terry,

Yeah it might be a bit unclear :).
I want to able to see exactly which table a given field comes from

If you take a look at the example above you can see that it is unclear where each column come from:

val1 | val2 | val3 | val1 | val2 <-Title of the column

What I want is this to be:

table1.val1 | table1.val2 | table1.val3 | table2.val1 | table2.val2 <-Title of the column

It Need to be a * select statement so I can not just use the AS keyword

Thanx

//Funtex
Avatar billede lorentsnv Nybegynder
13. november 2006 - 11:07 #6
Når du laver en select *, får du kolonnenavnene som de er i tabellerne. Hvis du har behov for at outputet skal vise hvilken tabel kolonnerne kommer fra, må du selv angive dette, f.ek. på følende måde:
val1 | val2 | val3 | val1 | val2

Select t.val1 as Tabel_Val1, t.val2 as Tabel_val2, t.val3 as Tabel_val3,
  t2.val1 as Tabel2_val1, t2.val2 as Tabel2_val2
from table t
RIGHT JOIN table2 t2
  ON t.val1=t2.val1
Avatar billede lorentsnv Nybegynder
13. november 2006 - 11:09 #7
Sorry, såg dit svar lidt for sent.
Avatar billede funtex Nybegynder
13. november 2006 - 11:10 #8
jah det frygtede jeg også...
Der er ingen snedig SQL function hvor man kan putte et prefix på alle værdierne på engang så det ikke er nødvendigt at selecte hver værdi?

//Funtex
Avatar billede funtex Nybegynder
13. november 2006 - 11:33 #9
Jeg endte med at kode mig ud af problemet...

//Funtex
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