Hirdetés
Aktív témák
-
L3zl13
nagyúr
Ha az SQL stringre gondolsz akkor:
select tema.tema_id, cim, count(hozzaszolas_id) as hozzaszolas from tema left outer join hozzaszolas on tema.tema_id=hozzaszolas.tema_id group by tema.tema_id,cim
Az eleje gondolom egyértelmű, a lényeg, hogy ne *-ozz mert akkor nem nagyon tudsz count meg hasonló kifejezéseket használni.Ehelyett szépen felsorolod azokat az oszlopokat amire szükséged van.
A count(xyz) azt jelenti, hogy nem kiírja egyenként az xyz-ket, hanem csak megszámolja őket.
Pl ha az lenne a query, hogy ''select count(tema_id) from tema'' akkor csak egy számot kapnál eredménynek. Mégpedig a témák számát.
az 'as hozzászólás' azért van, hogy könnyebben lehessen hivatkozni a fügvény eredményeképp kapott mezőre kiíratáskor.
'from tema' gondolom egyértemű
left outer join - ezzel kapcsolod össze a két táblát, mégpedig olyan módon, hogy a baloldali tábla (left) minden eleme szerepel az eredményképpen kapott összesített táblában, míg a jobboldali táblából csak azok az elemek, amelyek az összekapcsolási feltételnek megfelelnek.
hozzaszolas - a másik tábla neve
on tema.tema_id=hozzaszolas.tema_id - Az összekapcsolási feltétel. Innen tudja, hogy a hozzaszolas táblábol melyik sor a tema tábla melyik sorához tartozik. (Ahol a tema_id -k megegyeznek.)
group by tema.tema_id,cim - csoportosítás tema_id és cím szerint. Ez azért kell, hogy a hozzászólások táblát a count-nál ne egybe vegye, hanem tema_id-nként számolja össze a hozzászólások számát.
Utolsó hozzászólóhoz szerintem külön lekérdezés kell.
Aktív témák
- 228 - Lenovo LOQ (15IRX10) - Intel Core i7-13650HX, RTX 5060
- RÉSZLETRE .Bankmentes kamatmentes. OPCIONÁLIS. G.SKILL Trident Z5 Neo RGB 96GB (2x48GB) DDR5 6000MHz
- Apple AirPods Max Midnight ! Új Bontatlan / 2028.03.16-ig Garancia!
- HP ProDesk 600 G5 DM i5-9500T / 16GB DDR4 / 512GB NVME SSD
- Apple iPad Air 2 (A1567) 32GB Wi-Fi + Cellular Arany
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

