Avatar billede ofirpeter Nybegynder
27. juni 2009 - 23:21 Der er 1 kommentar og
1 løsning

Udtræk fra 2 tabeller i mysql

Hej eksperter,
Jeg har to tabeller i mysql der ser ud på følgende måde:

Tabel1: id | navn | dato
Tabel2: id | navn | fodt | dato

Nu vil jeg gerne vise en list af navne fra begge tabeller, som er sorteret efter dato.

Jeg har prøvet: "SELECT * FROM Tabel1,Tabel2 ORDER by dato" Det virker desværre ikke.

Nogen der har en ide?

Mvh.
Peter Jensen
Avatar billede Lowenti Nybegynder
28. juni 2009 - 00:17 #1
Hvordan vil du vise dem?
Du skal nok have fat i noget LEFT JOIN - eller også skal navnene have nogle ens id'er, hvis de høre sammen og det er derfor du vil trække ud fra begge tabeller..
Eller også skal du lave to SELECT * FROM osv..

Sig til hvis jeg helt har misforstået??
Vil gerne hjælpe..
Avatar billede alphabits Nybegynder
28. juni 2009 - 08:40 #2
Hvis du bare vil have en liste med alle navnene i de to tabeller, uden at der er en relation imellem én af deres kolonner, kan du bruge UNION:

SELECT id, navn, dato FROM Table1 UNION SELECT id, navn, dato FROM Table2;

og hvis du vil sortere efter dato tror jeg vi er ude i en enkelt subquery:

SELECT * FROM (SELECT id, navn, dato FROM Table1 UNION SELECT id, navn, dato FROM Table2) as tmp ORDER BY tmp.dato;

Vær opmærksom på at UNION kun vælger unikke rækker, så hvis du har en række i Table1 med præcis samme id, navn og dato som en række i Table2, vil der kun blive vist én række. Er det et problem i dit tilfælde, kan du evt. løse det ved at inkludere tabelnavnet i din query:

SELECT * FROM (SELECT 'Table1' as tbl, id, navn, dato FROM Table1 UNION SELECT 'Table2' as tbl, id, navn, dato FROM Table2) as tmp ORDER BY tmp.dato;

hvilket sikkert kan gøres lidt smartere, men det virker fint til at få alle rækker med :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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