- Typ och köra följande SQL-satser (radera alla tidigare skrivit uttalande): DROP TABELL SaleDetails; Skapa tabell SaleDetails (SaleID SMALLINT, ProductID SMALLINT, Antal INTEGER, SoldPrice SIFFER (19,2), primärnyckel (SaleID, ProductID), främmande nyckel (SaleID) REFERENSER Sales (SaleID) PÅ UPDATE CASCADE ON DELETE CASCADE); INSERT INTO SaleDetails (SaleID, ProductID, Antal, SoldPrice) -värden (1, 1, 9, 0,75); INSERT INTO SaleDetails (SaleID, ProductID, Antal, SoldPrice) värden (1, 3, 12, 3); INSERT INTO SaleDetails (SaleID, ProductID, Antal, SoldPrice) -värden (1, 5, 8, 1,25); INSERT INTO SaleDetails (SaleID, ProductID, Antal, SoldPrice) VÄRDEN (2, 7, 3, 21); INSERT INTO SaleDetails (SaleID, ProductID, Antal, SoldPrice) värden (2, 9, 5, 3); - Nu läsa och skriva följande fråga (radera alla tidigare skrivit uttalande): SELECT Products.
ProductName, SaleDetails.Qty, SaleDetails.SoldPrice, SaleDetails.Qty * SaleDetails.SoldPrice AS Totalt FRÅN SaleDetails GÅ Produkter PÅ SaleDetails.ProductID = Products.ProductID ; Resultatet bör som förväntat med den nya kolumnen, Total. Låt oss lämna det vid det för beräknade värden. Använd ett liknande resonemang för dina olika problem.
Sub Query Grund syntax för en fråga är: VÄLJ select-lista från i-uttryck GÅ bords kolumner med operatörer DÄR sök-tillstånd GROUP BY grupp-by-uttryck med sökvillkoret ORDER BY uttryck En underfråga är samma sak men det skulle passa i SELECT-listan eller söka förutsättning för WHERE eller HAVING. I exemplet som följer, kommer jag att lägga en sub-query i SELECT-listan.
Tabellen SalesDetails är nu: SaleDetails (SaleID, ProductID, Antal, SoldPrice) Tabellen Sales är: Försäljning (SaleID, DateAndTime, Anställningsnr, Kundnr) För varje SaleID finns ett antal produkter, och dessa produkter är i SaleDetail tabellerna. Summan (kolumn) av de produkter som säljs för en viss försäljning kan fås från tabellen SaleDetails med hjälp av en fråga och SUM samlade