01. april 2008 - 11:23Der er
18 kommentarer og 1 løsning
Store problemer med udformning af MySql database
Hej, tak fordi at du gider at kigge på det. Det store problem er hvordan jeg skal opsætte min tabeller i MySql.
Jeg har en liste med navne og telefonnumre:
tel navn tel1 navn1 tel2 navn2 tel3 navn3 tel4 navn4 tel5 navn5
De skal bruges af en gruppe mennesker, som skal kunne tilføje (og slette) dem til deres private liste:
bruger bruger1 bruger2 bruger3 bruger4 bruger5
Så, nu det svære (for mig): Hvordan skal databasen sættes op?
Hvis jeg kører det hele i en tabel med unikke rækker:
bruger tel navn tel1 navn1 tel2 navn2 tel3 navn3 tel4 navn4 tel5 navn5 bruger1 tel2 navn2 bruger1 tel4 navn4 bruger2 tel2 navn3 bruger2 tel5 navn5
Rækkerne uden bruger id er de unikke numre/navne som ikke må kunne slette, men skal kunne redigeres af alle brugere. Hvordan ville jeg skulle kalde de numre/navne som er feks på bruger1 liste OG dem som ikke er på hans liste (og stadig skal kunne sorteres efter tel, navn osv), så resultatet bliver som:
select * from TABLE where bruger = bruger1 and/or…
resultat for bruger1: tel1 navn1 nej tel2 navn2 ja tel3 navn3 nej tel4 navn4 ja tel5 navn5 nej
Eller vil løsningen være 2 tabeller og bruge join? Og hvordan så det?
Den har virkelig holdt mig søvnløs, så jeg håber at nogen kan hjælpe…
select bruger, navn, tel from tlf left outer join relation on tlf.tlfID = relation.tlfID left outer join bruger on bruger.brugerID = relation.brugerID and bruger.bruger = 'bruger1'
Måske er jeg træt eller også kan det ikke gøres simplere ?!?!?!?
select tel, navn, 'Ja' as "Har nummer" from tlf left outer join relation on relation.tlfID = tlf.tlfID join bruger on bruger.brugerID = relation.brugerID and bruger.bruger = 'bruger1' union select tel, navn, 'Nej' from tlf a1 where a1.tlfID not in( select a2.tlfID from tlf a2 left outer join relation on relation.tlfID = a2.tlfID join bruger on bruger.brugerID = relation.brugerID and bruger.bruger = 'bruger1') order by 1, 2
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.