Avatar billede nickyc Nybegynder
13. marts 2008 - 20:26 Der er 8 kommentarer

Union på 3 tabeller?

Kan jeg lave en Union sådan her på 3 tabeller?

$SQL = "(SELECT * FROM dokumenter) UNION (SELECT rep_text FROM repetoire) UNION (SELECT info FROM bandinfo) WHERE doc_id = $Doc_ID";
Avatar billede arne_v Ekspert
13. marts 2008 - 20:36 #1
Ja.

Hvis alle 3 select returnerer samme antal felter af samme type.
Avatar billede nickyc Nybegynder
13. marts 2008 - 20:38 #2
altså selve dokumenter har flere felter end de andre 2 tabeller, men de alle har doc_id hos dem...
Avatar billede arne_v Ekspert
13. marts 2008 - 21:10 #3
Hvis foerste query returnerer mere end en kolonne saa duer det ikke fordi de to
sidste returnerer kun en kolonne.
Avatar billede nickyc Nybegynder
13. marts 2008 - 21:35 #4
Ok, men er der ikke en vej udenom, så jeg undgår at lave 3 forskellige queries? - bare sådan jeg kan samle det i en lang, også kun kalde mysql_query() 1 gang?
Avatar billede arne_v Ekspert
13. marts 2008 - 21:39 #5
Du kan tilfoeje nogle ekstra felter i output i de to sidste queries saa
de matcher.

Men hvis data rent faktisk er 3 forskellige ting, saa boer du ogsaa lave 3 queries.
Avatar billede nickyc Nybegynder
13. marts 2008 - 21:47 #6
Forskellige ting vil jeg ikke kalde det, for repetoire og bandinfo har egentlig noget med dokumenter at gøre - idet man skal kunne hente repetoire, samt info ud fra hvilken side man er på via Doc_ID (derfor WHERE doc_id = $Doc_ID)
Avatar billede arne_v Ekspert
14. marts 2008 - 02:11 #7
Det lyder mere som noget der skal JOIN'es end som noget der skal UNION'es.
Avatar billede arne_v Ekspert
06. april 2008 - 06:04 #8
Kommet videre ?
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