-------------------------------------------
CREATE TABLE TABLE1
(ID int,
PERSONNAME nvarchar(200),
AGE int,
HOBBY nvarchar(200))
INSERT INTO TABLE1 VALUES
(1,'Alex',40,'skateboarding'),
(2,'John',32,'wrestling'),
(3,'Asti',25,'jogging'),
(4,'Jay',53,'football'),
(5,'Selena',40,'yoga')
-------------------------------------------
CREATE TABLE TABLE2
(DT datetime,
PERSON_ID int,
PRODUCT_NAME nvarchar(200),
QUANTITY decimal(18,2),
PRICE decimal(18,2))
INSERT INTO TABLE2 VALUES
('2018-07-01',1,'TABLE 40x60',50,32.55),
('2018-07-02',4,'TABLE 100x60',10,65.00),
('2018-07-02',2,'CHAIR X1',30,15),
('2018-07-03',4,'CHAIR X2',20,13),
('2018-07-03',1,'PC IBM',10,800),
('2018-07-04',5,'PC HP',10,720.12),
('2018-07-04',4,'PC DELL',8,950)
-------------------------------------------
GO
-------------------------------------------
CREATE VIEW VIEW_TABLE1
as
WITH ProductsByPersons (PERSON_ID, AMOUNT)
AS
(
SELECT PERSON_ID , sum(QUANTITY *PRICE) as Amount
from TABLE2
GROUP BY PERSON_ID
)
SELECT A.PERSONNAME, ProductsByPersons.AMOUNT
FROM TABLE1 A
Left Join ProductsByPersons on A.ID=ProductsByPersons.PERSON_ID
GO
-------------------------------------------
SELECT *
FROM VIEW_TABLE1
-------------------------------------------
DROP VIEW VIEW_TABLE1
-------------------------------------------
GO
WITH
CountSalesmans (TotalCount, TableName) AS
(SELECT COUNT(ID), 'Salesmans count' FROM TABLE1 ),
OrderAvg (OAvg, TableName) AS
(SELECT AVG(QUANTITY *PRICE), 'Orders avg' FROM TABLE2),
OrderSum (OSum, TableName) AS
(SELECT sum(QUANTITY *PRICE), 'Orders total' FROM TABLE2)
SELECT TableName, TotalCount FROM CountSalesmans
UNION ALL
SELECT TableName, OAvg FROM OrderAvg
UNION ALL
SELECT TableName, OSum FROM OrderSum
-------------------------------------------
DROP TABLE TABLE1, TABLE2
-------------------------------------------
Nesta página do site você pode assistir ao vídeo on-line T-SQL: command WITH for temporary results duração hora minuto segundo em boa qualidade , que foi baixado pelo usuário Alex D 06 Novembro 2018, compartilhe o link com seus amigos e conhecidos, no youtube este vídeo já foi visto 345 vezes e gostou 2 espectadores. Boa visualização!