TABLE (1) *> id | name TABLE (2) *> id | name_id | tlf
Relationen skabes i tabel2.name_id = tabel1.id (id er normalt et "ukontrollabelt" fortløbent nummer, og sætte to id'er til at være relationer på hinannden, ser jeg som et problem)
SQL til at få navne og det antal tlf de har:
SELECT tabel1.Name, COUNT(tabel2.id) Tlfnumre FROM tabel1 LEFT JOIN tabel2 ON tabel2.name_id = tabel1.id GROUP BY tabel1.id
Og så en mere rigtig en her: SELECT table1.name, COUNT(table2.tlf) AS antal FROM table1, table2 WHERE table1.id = table2.id GROUP BY table1.name ORDER BY antal DESC
hindu_skp >> jeg bliver nødt til (!) at kritisere din SQL.. i dit tilfælde vil hans tabel2, have rækker hvor id indeholder det samme tal. Med andre ord mister han en unik column, hvilket id typisk er - af mange gode grunde !-)
fixxxer > jeg kan ikke rigtige forstå din sql, hvorfor tæller du table2.id når du burdt tælle hvor mange name_id + hvor kommer Tlfnumre fra når du ikke bruger AS?
alaflam >> fordi jeg group by på tabel1.id og med denne relation (tabel2.name_id = tabel1.id) vil tallet COUNT(tabel2.id) give antallet af telefon numre, på hver person i tabel1. Det virker og er testet.. og hvis du spørger mig den "pæneste" måde at gøre det på.
Hvad angår AS er dette et valgfrit element. AS er underforstået mellem "COUNT(tabel2.id)" og "Tlfnumre"
alaflam >> Når jeg spørger dig om du ikke kan være lidt mere præcis, er det fordi jeg vil vide om du vil trække navne ud + det antal tlf. numre hver person har tilknyttet. Det er hvad min SQL gør nu.
Eller om du vil have udtrukket en kombination hvor der for hver person er listet hans/hendes tlf.numre. Det kan laves med lidt PHP.
fixxer, jeg giver bare et ekspempel, hvad hvis jeg nu ligger efternavn, skal jeg også tilføje det ???, det bliver så en laaaaang sql sætning til sidst ??
jeg siger mange tak til begge to og til dem der står bag siden :)
Synes godt om
Ny brugerNybegynder
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.