Hvor mange annoncer er under forskellige HovedKategorier - SQL

Tags:    sql


Jeg har tre tabeller:

Kategori1 [Kat1ID, KatagoriNavn1]
Kategori2 [kat2ID, FK_Kate1ID, kategorieNavn2]
Annoncer [AnnonceID, FKkat2ID, tetkst ]


Et kategori i tabellen kategori1 f,esk SKO, kan have flere underkategorier i tabellen Kategorie2 feks, Hjemmesko,Arbejdsko,suttesko..

Der findes mange annoncer i systemer og de ref til underkategorier. Flere annoncer kan have mange samme kategorier f.esk Hjemmesko


Så Jeg kunne tænke mig lavet en SQL som kan fortælle mig følgende

Alle Kategorie1 Navn, f.esk Sko, tøj, biler osv og hvor mange annoncer er oprettet Under dem.
Altså sådan:

Sko 2
Biler 0
Tøj 40




4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Hej Kim.

Hvis det var mig ville jeg først lige optimere din database lidt, du bruger nemlig lidt ekstra plads og kan faktisk nøjes med to tabeller

Kategori og Annonce (jeg har tilladt mig at lave dem til dig

Kategori
- id (primærnøgle)
- name
- parent_id

Annonce
- id (Primærnøgle)
- name
- text
- cat_id (fremmednøgle)

Nu laver du slet og ret de hoved-kategorier du ønsker efter denne:
id (skal vare autonumerisk, altså hvor den bare tilføjer en for hver gang der postes noget i tabellen).
name (navnet på kategorien).
parent_id (Her skal du lige være opmærksom, hvis den er sat til 0 (nul), så betyder det at det er en hovedkategori, men er det derimod en subkategori du skal have sat ind, jamen så skal der i parent_id stå det id som hovedkategorien har.

Den med at fremstille sql'en vil jeg overlade til andre, da det er noget med join og det er jeg desværre ikke helt stærk i endnu.

Men din database er i hvertfald fremtidssikret, og er også mere optimal.

Håber alligevel du fik noget ud af det jeg har skrevet.



et bud, ved ik om det virker, men du kan da give det et forsøg.

Fold kodeboks ind/udSQL kode 




Tak Danial, så ved jeg at det også kan laves på den måde.

Tak Kenneth, men din sql viser kun de kategori som har annoncer tilknyttet.

Har jeg et kategori BILER uden annoncer vises den ikke.. Det burde vises BILER antal 0

Der ska nok left join ... Osv




Tak Kenneth, men din sql viser kun de kategori som har annoncer tilknyttet.

Har jeg et kategori BILER uden annoncer vises den ikke.. Det burde vises BILER antal 0

Der ska nok left join ... Osv


Fold kodeboks ind/udSQL kode 


ah trode kun du ville have dem i annoncer tabelen.



Indlæg senest redigeret d. 25.11.2011 00:49 af Bruger #3427
t