Ti faccio un esempio
Poniamo di avere una Tabella con le testate ordini clienti
e una Tabella con le righe ordine
le condizioni:
- Filtra i records per un periodo dalla data alla data
- Unisci le testate con le righe ordini per Id Ordine
- con la sottoquery conta le righe degli ordini
- restituire le fields:
- IDOrdine
- IDCliente
- DataOrdine
- CodiceArticolo
- Quantità
- NumeroRighe
.
più o meno, se non ho scritto male, dovresti fare una cosa di questo tipo:
SELECT
o.IDOrdine,
o.IDCliente,
o.DataOrdine,
r.CodiceArticolo,
r.Quantità,
(SELECT COUNT(*)
FROM RigheOrdine r2
WHERE r2.IDOrdine = o.IDOrdine) AS NumeroRighe
FROM Ordini o
INNER JOIN RigheOrdine r ON o.IDOrdine = r.IDOrdine
WHERE o.DataOrdine BETWEEN '2024-01-01' AND '2024-01-31'
ORDER BY o.IDOrdine;
Nota: per semplificare la rilettura e la scrittura, in questo esempio, viene usato un alias per le due tabelle : "o" per Ordini e "r" per RigheOrdini e "r2" per la sottoquery che esegue il conteggio righe dell'ordine