c # - Hvordan kan jeg vise oplysninger om to tabeller? Med INNER JOIN

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har deveoping en Windows-applikation med C # og MYSQL.
Men jeg er i tvivl, jeg har brug for at vise forskellige ting fra forskellige tabeller (indvendig tilslutter jeg mig selv).
Jeg har et bord kaldet tbl\_horas, og i denne tabel sparer jeg forskellige timer, fx:


IdHora | Hora | Meta.
1      | 7:30 | 40
2      | 8:30 | 20
3      | 9:30 | 40
4      | 10:30| 40


Og jeg har et andet bord kaldet Products, og i denne tabel gemmer jeg oplysninger som denne:


IdProduct | Hour | Description | ActualDate
1         | 7:30 | Product one | 2017-04-19
2         | 8:30 | Product two | 2017-04-19
3         | 9:30 | Prod  three | 2017-04-19


Og sagen er, hvordan kan jeg vise oplysninger som denne?


Hora (From tbl\_horas) | Meta (from tbl\_horas) | Description (from tbl\_products) | Cantidad (from tbl\_productos)<- This gonna ve a count for all products that have the hour 7:30, or another..
7:30              | 40            | Product one                     | 20
8:30              | 20            | Product two         | 15


Jeg har denne sql sætning, men jeg kan ikke gøre dette virker til det, jeg vil have ..


SELECT 
  tbl\_horas.Hora, 
  tbl\_horas.Meta, 
  tbl\_horas.Turno, 
  Count(tbl\_productos.Serial) 
FROM tbl\_horas 
INNER JOIN tbl\_reportes 
  on tbl\_horas.IdHora = tbl\_reportes.IdHora 
INNER JOIN tbl\_productos 
  ON tbl\_reportes.IdProducto = tbl\_productos.IdProducto;


Jeg vil vise dette i en gridview, og hvis nogle timer ikke har produkter, vil det vise 0 i Cantidad ..
Jeg er ked af det engelske haha, kan nogen hjælpe mig?

Bedste reference


For at kunne bruge Count () skal du bruge 'Group By'.


Prøv at tilføje: GROUP BY tbl.Hora til slutningen af ​​din erklæring.


Bemærk dog, at ved at gruppere resultaterne mister du betydningen af ​​nogle af kolonnerne.
For at rette op på dette, kan du prøve at køre en underforespørgsel for count-kolonnen (som denne).

Andre referencer 1


Du kan få count() ved hjælp af group by og derefter udføre en join som


select th.hora, th.meta,
xx.description, xx.counthora
from tbl\_horas th join (
select hora, description,
count(*) as counthora from products
group by hora) xx on th.hora = xx.hora;