Hej, Du behöver inte gruppera... Tack för svaret och så har jag testa innan men jag vill ju bara att gruppnamnet ska skrivas ut en gång och sen ska en undergrupp komma och sen filerna. Du ordnar detta när du presenterar informationen. Kontrollera om gruppen är samma som föregående post, är den det så skriver du inte ut den. Hehe, det var precis så jag gjorde :)Sortera/Hämta ifrån 3 tabeller - MySql
Det jag vill göra är att hämta ut värden ifrån tre tabeller och sen sortera på tre olika kolumner.
Tabell1:
gruppId | gruppNamn
räknare | varchar
Tabell2:
undergruppsId | undergruppsnamn
räknare | varchar
Tabell3:
filId | gruppId | undergruppId | filnamn | beskrivning
räknare | int | int |varchar |varchar
Så när utskiften sker ska alla filer hämtas och sen skrivas ut alfabetiskt(a-ö) först på gruppnamnen, sen under varje grupp kommer undergruppsnamnen i alfabetisk ordning och under varje undergrupp ska filerna skrivas ut i alfabetisk ordning.
Så när grupp1 är klar med sina undergrupper och undergrupperna är klara med sina filer ska grupp2 komma osv...
Hur kan en sådan Select-fråga se ut?
Försöker med att joina med 2 left join men kan inte komma på hur jag ska gruppera rätt :/
Tänker jag rätt?
Testsatsen ser ut så här nu:strSQL = "SELECT tbl1.filnamn, tbl1.lankbeskrivning, tbl2.grupp_namn, tbl3.undergruppsnamn FROM (tbl_pdffiler tbl1 LEFT JOIN tbl_huvudgrupper tbl2 ON tbl1.grupp_Id=tbl2.grupp_Id) LEFT JOIN tbl_undergrupper tbl3 ON tbl1.undergrupp_id=tbl3.undergruppsId GROUP BY tbl2.grupp_namn, tbl3.undergruppsnamn ORDER BY tbl2.grupp_namn, tbl3.undergruppsnamn, tbl1.lankbeskrivning ASC"
Sv: Sortera/Hämta ifrån 3 tabeller - MySql
SELECT tbl1.filnamn, tbl1.lankbeskrivning, tbl2.grupp_namn, tbl3.undergruppsnamn
FROM tbl_pdffiler tbl1
LEFT JOIN tbl_huvudgrupper tbl2 ON tbl1.grupp_Id=tbl2.grupp_Id
LEFT JOIN tbl_undergrupper tbl3 ON tbl1.undergrupp_id=tbl3.undergruppsId
ORDER BY tbl2.grupp_namn, tbl3.undergruppsnamn, tbl1.lankbeskrivning
/Johan
Sv:Sortera/Hämta ifrån 3 tabeller - MySql
Gruppnamn1
undergrupp1_1
fil1
fil2
undergrupp1_2
fil1
Gruppnamn2
undergrupp2_1
fil1
...
Så det handlar kanske mer om hur man skriver ut det och inte om sql-satsen :/
Ingen som har en idé?
Nu har jag lagt in värdena i en array och försöker köra igenom den.
Provade att lägga in GROUP BY på gruppnamnet resp undergruppsnamnet.
Blev inte bra att gruppera på undergrupperna också...
Nu är bara frågan hur man kör igenom array för att först skriva ut gruppnamnet och sen undergruppen och sedan filerna innan nästa grupp kommer...
Är där någon som har en ide så säg till, provar så länge...
EDIT: Nu har jag löst det! Är där någon som har någon idè på hur man kan lösa detta så är bara säg det för det är alltid bra att se andras lösningar.Sv: Sortera/Hämta ifrån 3 tabeller - MySql
/JohanSv:Sortera/Hämta ifrån 3 tabeller - MySql
Tack ändå för svaret!