FraXinuS Skrevet 12. mars 2007 Del Skrevet 12. mars 2007 Jeg har disse tabellene: auth_groups: id INTEGER PRIMARY KEY NOT NULL name VARCHAR(30) NOT NULL description VARCHAR(150) NULL auth_group_permissions: id INTEGER PRIMARY KEY NOT NULL group_id INTEGER NOT NULL permission_id INTEGER NOT NULL auth_permissions: id INTEGER PRIMARY KEY NOT NULL perm VARCHAR(60) NOT NULL INSERT INTO auth_groups (name, description) VALUES('Test1', 'test gruppe') INSERT INTO auth_groups (name, description) VALUES('Test2', 'test gruppe') INSERT INTO auth_permissions (perm) VALUES('perm1') INSERT INTO auth_permissions (perm) VALUES('perm2') INSERT INTO auth_permissions (perm) VALUES('perm3') INSERT INTO auth_group_permissions (group_id, permission_id) VALUES(1, '1') INSERT INTO auth_group_permissions (group_id, permission_id) VALUES(1, '2') INSERT INTO auth_group_permissions (group_id, permission_id) VALUES(1, '3') INSERT INTO auth_group_permissions (group_id, permission_id) VALUES(2, '1') Jeg prøver å hente ut en gruppe sammen med alle rettighetene. SELECT p_tbl.perm AS permissions, g_tbl.name AS name FROM auth_groups AS g_tbl LEFT OUTER JOIN auth_group_permissions AS gp_tbl ON g_tbl.id = gp_tbl.group_id LEFT OUTER JOIN auth_permissions AS p_tbl ON p_tbl.id = gp_tbl.permission_id resultatet av denne blir: [('perm1', 'Test1'), ('perm2', 'Test1'), ('perm3', 'Test1'), ('perm1', 'Test2')] Er det mulig å få resultatet til å bli slik: [('perm1', 'perm2', 'perm3', 'Test1'), ('perm1', 'Test2')] eller [(('perm1', 'perm2', 'perm3'), 'Test1'), ('perm1', 'Test2')] Prøvde å legge til en GROUP BY g_tbl.name, men da får jeg bare ut en permission: [('perm3', 'Test1'), ('perm1', 'Test2')] Lenke til kommentar
roac Skrevet 13. mars 2007 Del Skrevet 13. mars 2007 Og hvordan i himlens navn har du tenkt å få til at radene har forskjellig antall felter? Unnskyld at jeg virker streng, men sett deg ned og les litt om databaser, for det du spør om mener jeg er helt på viddene. Men, for presentasjon kan du selvfølgelig gjøre det du ønsker i et eller annet programmeringsspråk som jobber mot databasen. Dersom du søker på "databaseteori" på Google finner du sikkert en del ting som er interessant. Lenke til kommentar
blacktower Skrevet 13. mars 2007 Del Skrevet 13. mars 2007 Selve databasen returner bare rader. GROUP BY gjør ikke det du ønsker her og er bare meningsfullt sammen med operasjon i SELECT delen, f.eks. SUM. Ergo må du enten.. - Returnere flere ganger, en gruppering om gangen eller - Returnere alle rader, og deretter gruppere dem f.eks. ved hjelp av en hash. Lenke til kommentar
FraXinuS Skrevet 13. mars 2007 Forfatter Del Skrevet 13. mars 2007 Ok, får gjøre det med programmeringsspråket isteden da. 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å