2017-02-09 4 views
0

Dies ist meine Abfrage erstellen:Wie SQL-Ansicht mit Count()

select 
    Sales.SaleID, 
    Sales.StartSaleDate, 
    Sales.EndSaleDate, 
    Sales.SalePercent, 
    COUNT(LessonID) as TotalLesson, 
    Sales.Status, 
    Sales.ExpiredStatus, 
    Sales.SalePrice, 
    Sales.IsSpecial 
FROM 
    Sales 
LEFT JOIN 
    SaleLessons ON SaleLessons.SaleID = Sales.SaleID 
GROUP BY 
    Sales.Status, Sales.IsSpecial, Sales.StartSaleDate, Sales.EndSaleDate, 
    Sales.SalePercent, Sales.SaleID, Sales.ExpiredStatus, Sales.SalePrice 
ORDER BY 
    Sales.StartSaleDate DESC 
+1

, was ist das Problem? – McNets

+0

Entfernen Sie 'ORDER BY' – dnoeth

+1

Welches DBMS verwenden Sie? Postgres? Orakel? –

Antwort

1
create view ViewSchema.ViewName 
    as 
select Sales.SaleID, 
     Sales.StartSaleDate, 
     Sales.EndSaleDate, 
     Sales.SalePercent, 
     COUNT(LessonID) as TotalLesson, 
     Sales.Status, 
     Sales.ExpiredStatus, 
     Sales.SalePrice, 
     Sales.IsSpecial 
from Sales 
LEFT JOIN SaleLessons 
    ON SaleLessons.SaleID = Sales.SaleID 
group by Sales.Status, 
     Sales.IsSpecial, 
     Sales.StartSaleDate, 
     Sales.EndSaleDate, 
     Sales.SalePercent, 
     Sales.SaleID, 
     Sales.ExpiredStatus, 
     Sales.SalePrice 

Sie wirklich brauchen nicht die ORDER BY Klausel, können Sie es später verwenden, wenn Daten aus der Sicht zu extrahieren.

Auch ist hier eine sehr informative Antwort zu diesem Thema - https://stackoverflow.com/a/15188437/7119478