salve,
Infomega ha scritto:
dovrebbe essere cosi, anzi l'inserimento lo già effettuato, ora quello che a me serviva era tirare fuori tutti i prodotti di quel cliente avendo una sola descrizione del prodotto con la somma delle quantità e dei prezzi. Se puo esserti utile posso allegare le tabelle.
CREATE TABLE [dbo].[Carrello] (
[id_Carrello] [int] IDENTITY (1, 1) NOT NULL ,
[id_cliente] [int] NULL ,
[id_articolo] [int] NULL ,
[quantita] [int] NULL ,
[Prezzo] [int] NULL ,
[id_Sessione] [varchar] (50) COLLATE Latin1_General_CI_AS NULL
) ON [PRIMARY]
di nuovo non so se ho capito la tua esigenza...
SET NOCOUNT ON;
USE tempdb;
GO
CREATE TABLE [dbo].[Carrello] (
[id_Carrello] [int] IDENTITY (1, 1) NOT NULL ,
[id_cliente] [int] NULL ,
[id_articolo] [int] NULL ,
[quantita] [int] NULL ,
[Prezzo] [int] NULL ,
[id_Sessione] [varchar] (50)
);
CREATE TABLE [dbo].[Articoli] (
[id_Articolo] [int] IDENTITY (1, 1) NOT NULL ,
[Descrizione] varchar(10) NOT NULL
);
INSERT INTO [dbo].[Articoli] VALUES ( 'Art 1' );
INSERT INTO [dbo].[Articoli] VALUES ( 'Art 2' );
INSERT INTO [dbo].[Articoli] VALUES ( 'Art 3' );
INSERT INTO dbo.Carrello VALUES ( 1 , 1 , 1, 5 , 'sessione x');
INSERT INTO dbo.Carrello VALUES ( 1 , 1 , 2, 10, 'sessione x');
INSERT INTO dbo.Carrello VALUES ( 1 , 2 , 1, 1, 'sessione x');
INSERT INTO dbo.Carrello VALUES ( 1 , 2 , 2, 2, 'sessione x');
INSERT INTO dbo.Carrello VALUES ( 2 , 1 , 1, 5, 'sessione x');
INSERT INTO dbo.Carrello VALUES ( 2 , 1 , 2, 10, 'sessione x');
INSERT INTO dbo.Carrello VALUES ( 2 , 2 , 1, 1, 'sessione x');
INSERT INTO dbo.Carrello VALUES ( 2 , 2 , 2, 2, 'sessione x');
DECLARE @Cliente int;
SET @Cliente = 1
SELECT c.[id_cliente] , a.[Descrizione] , SUM( c.[quantita]) AS [Somma Quantità], SUM(c.[Prezzo]) AS [Totale]
FROM [dbo].[Carrello] c JOIN [dbo].[Articoli] a
ON c.[id_articolo] = a.[id_Articolo]
WHERE c.[id_cliente] = @Cliente
--AND c.[id_articolo] = 1
GROUP BY c.[id_cliente], a.[Descrizione];
GO
DROP TABLE [dbo].[Articoli], [dbo].[Carrello];
--<-------
id_cliente Descrizione Somma Quantità Totale
----------- ----------- -------------- -----------
1 Art 1 3 15
1 Art 2 3 3
passato il codice cliente come "parametro", ritorna il codice cliente, la descrizione dell'articolo, l'aggregazione delle quantita' e del "prezzo" per ogni articolo referente il codice cliente, visto che richiedi
tutti i prodotti di quel cliente
ho infatti eliminato la condizione di WHERE [id_articolo] = n in modo che vengano ritornate le aggregazioni per tutti gli articoli referenziati...
saluti