ورود

View Full Version : سوال: خطا در کوئری همراه با GROUP BY



mrmohsen
دوشنبه 22 تیر 1388, 00:58 صبح
من این دستور را با
Query Designer SQL Server 2005



نوشتم ولی پیغام خطا میده البته تو قسمت هایی که فونتش رو بولد کردم خطا میده یعنی این دو خط زیر اگه دوستان راهنمایی کنن ممنون میشم(Northwind)


SUM(Products.UnitPrice)


GROUP BY Customers.CustomerID



SELECT Categories.CategoryID, Categories.CategoryName, Products.ProductName, Customers.CustomerID, Orders.OrderID,SUM(Products.UnitPrice)
FROM Orders INNER JOIN
Customers ON Orders.CustomerID = Customers.CustomerID INNER JOIN
[Order Details] ON Orders.OrderID = [Order Details].OrderID INNER JOIN
Categories INNER JOIN
Products ON Categories.CategoryID = Products.CategoryID ON [Order Details].ProductID = Products.ProductID
WHERE Categories.CategoryID = '4'


GROUP BY Customers.CustomerID

sepideh_aghel
دوشنبه 22 تیر 1388, 11:30 صبح
زمانی که از Group By استفاده می کنید باید تمام select رو در group بیارید

HDDSoft2001
دوشنبه 22 تیر 1388, 11:46 صبح
با سلام

اینجوری تغغیرش بده


SELECT Categories.CategoryID, Categories.CategoryName, Products.ProductName, Customers.CustomerID, Orders.OrderID,SUM(Products.UnitPrice)
FROM Orders INNER JOIN
Customers ON Orders.CustomerID = Customers.CustomerID INNER JOIN
[Order Details] ON Orders.OrderID = [Order Details].OrderID INNER JOIN
Categories INNER JOIN
Products ON Categories.CategoryID = Products.CategoryID ON [Order Details].ProductID = Products.ProductID
WHERE Categories.CategoryID = '4'


GROUP BY Customers.CustomerID, Categories.CategoryID, Categories.CategoryName, Products.ProductName, Orders.OrderID

Emad23
دوشنبه 22 تیر 1388, 23:53 عصر
من این دستور را با
Query Designer SQL Server 2005



نوشتم ولی پیغام خطا میده البته تو قسمت هایی که فونتش رو بولد کردم خطا میده یعنی این دو خط زیر اگه دوستان راهنمایی کنن ممنون میشم(Northwind)



SUM(Products.UnitPrice)



GROUP BY Customers.CustomerID



SELECT Categories.CategoryID, Categories.CategoryName, Products.ProductName, Customers.CustomerID, Orders.OrderID,SUM(Products.UnitPrice)
FROM Orders INNER JOIN
Customers ON Orders.CustomerID = Customers.CustomerID INNER JOIN
[Order Details] ON Orders.OrderID = [Order Details].OrderID INNER JOIN
Categories INNER JOIN
Products ON Categories.CategoryID = Products.CategoryID ON [Order Details].ProductID = Products.ProductID
WHERE Categories.CategoryID = '4'


GROUP BY Customers.CustomerID




ba arze poozesh 2 ta doostemun eshtebah goftan ... query dorost in mishe ...


SELECT Categories.CategoryID, Categories.CategoryName, Products.ProductName, Customers.CustomerID, Orders.OrderID,SUM(Products.UnitPrice)
FROM Orders INNER JOIN
Customers ON Orders.CustomerID = Customers.CustomerID INNER JOIN
[Order Details] ON Orders.OrderID = [Order Details].OrderID INNER JOIN
Categories INNER JOIN
Products ON Categories.CategoryID = Products.CategoryID ON [Order Details].ProductID = Products.ProductID
WHERE Categories.CategoryID = '4'
GROUP BY Categories.CategoryID, Categories.CategoryName, Products.ProductName, Customers.CustomerID, Orders.OrderID

Emad23
دوشنبه 22 تیر 1388, 23:55 عصر
Sum 1 tabeii hastesh ke vaghty miad baiad GROUP BY ham biad ...
Nokte badesh ineke harchi ghabl az SUM hast shoma baiad dakhele GROUP BY benevici ...

saeedr22
سه شنبه 23 تیر 1388, 00:45 صبح
ما وقتی از group by استفاده میکنیم که بخواهیم همراه با فیلدهای دیگه از فیلدهای sum , avrage و .... استفاده کنیم و در صورتی که از group by استفاده کردیم باید تو group by همه ی فیلدهایی رو که قبل sum قراره نشون داده بشن بنویسیم.
مثلاً اگه 2 تا فیلد به اسم name,family داشته باشیم بخواهیم sum(mark) رو هم نشون بدیم باید به صورت زیر عمل کنیم.



select name,family,sum(mark) from tbl1
group by name, family