akbern Skrevet 10. desember 2016 Del Skrevet 10. desember 2016 Hei,Jeg ser at det er et antall ulike tråder her angående ulike JOIN av databasetabeller, men jeg kan ikke helt finne noen som helt svarer på det jeg nå skal spørre om:La oss si at jeg har tre tabeller:1. blomster2. fugler3. dyrsom alle har fire kolonner: id, norsk_navn, latinsk_navn og timestamp.Jeg ønsker å få en oversikt over de f.eks. 10 siste opplastede artene sortert etter timestamp. (Altså echo av id, norsk_navn, latinsk_navn, og timestamp uavhengig av hvilken tabell resultatene er i).Jeg klarer å få dette til med én tabell om gangen, ikke tre. Hvordan må query'en for noe slikt konstrueres? Lenke til kommentar
Crowly Skrevet 10. desember 2016 Del Skrevet 10. desember 2016 (endret) Mulig noe slikt kan fungere (har ikke testet) SELECT id, norsk_navn, latinsk_navn FROM ( SELECT b.id, b.norsk_navn, b.latinsk_navn, b.timestamp FROM blomster AS b ORDER BY b.timestamp DESC UNION SELECT f.id, f.norsk_navn, f.latinsk_navn, f.timestamp FROM fugler AS f ORDER BY f.timestamp DESC UNION SELECT d.id, d.norsk_navn, d.latinsk_navn, d.timestamp FROM dyr AS d ORDER BY d.timestamp DESC ) AS felles ORDER BY timestamp DESC LIMIT 10 Endret 10. desember 2016 av Crowly Lenke til kommentar
akbern Skrevet 11. desember 2016 Forfatter Del Skrevet 11. desember 2016 Mulig noe slikt kan fungere (har ikke testet) SELECT id, norsk_navn, latinsk_navn FROM ( SELECT b.id, b.norsk_navn, b.latinsk_navn, b.timestamp FROM blomster AS b ORDER BY b.timestamp DESC UNION SELECT f.id, f.norsk_navn, f.latinsk_navn, f.timestamp FROM fugler AS f ORDER BY f.timestamp DESC UNION SELECT d.id, d.norsk_navn, d.latinsk_navn, d.timestamp FROM dyr AS d ORDER BY d.timestamp DESC ) AS felles ORDER BY timestamp DESC LIMIT 10 Takk for svar Hva mener du med "AS felles"? Lenke til kommentar
sdfsdfjk Skrevet 11. desember 2016 Del Skrevet 11. desember 2016 Mulig noe slikt kan fungere (har ikke testet) SELECT id, norsk_navn, latinsk_navn FROM ( SELECT b.id, b.norsk_navn, b.latinsk_navn, b.timestamp FROM blomster AS b ORDER BY b.timestamp DESC UNION SELECT f.id, f.norsk_navn, f.latinsk_navn, f.timestamp FROM fugler AS f ORDER BY f.timestamp DESC UNION SELECT d.id, d.norsk_navn, d.latinsk_navn, d.timestamp FROM dyr AS d ORDER BY d.timestamp DESC ) AS felles ORDER BY timestamp DESC LIMIT 10 Takk for svar Hva mener du med "AS felles"? Han gir et nytt navn på kolonnen hvor outputen vises (her: felles). Lenke til kommentar
Crowly Skrevet 12. desember 2016 Del Skrevet 12. desember 2016 Hva mener du med "AS felles"? Når man gjør en select i from så må select delen legges i parentes og gis ett alias. Prøv å ta bort "AS felles" og se hva som skjer. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå