ورود

View Full Version : مشکل با Query



Hossein Bazyan
جمعه 24 اردیبهشت 1389, 23:32 عصر
سلام
دوستان این کوئری داره منو دیونه میکنه


SELECT k_a_naam, SUM(incBTW) AS IncBtw, SUM(BTW) AS AllBtw, SUM(exBTW) AS exclBTW
FROM verkopen
GROUP BY k_a_naam

که در اجرا پیغام زیر را میده


The following Error occurred:
You tried to execute a query that doesn't include the specified expression 'k_a_naam' as part of an aggregate function.
Number: 3122


فیلد k_a_naam از نوع رشته است جالبش اینه که اگر بجای فیلد k_a_naam از فیلد Oms که آنهم رشته میباشد استفاده کنیم همه چی درسته


SELECT Oms, SUM(incBTW) AS IncBtw1, SUM(BTW) AS AllBtw, SUM(exBTW) AS exclBTW
FROM verkopen
GROUP BY Oms

Hossein Bazyan
شنبه 25 اردیبهشت 1389, 00:15 صبح
سلام،
از چه نسخه ای استفاده می کنید؟ data type ستون k_a_naam چی هست؟ Text ؟
سلام
هم Oms و هم k_a_naam از نوع Text هستند.

Hossein Bazyan
شنبه 25 اردیبهشت 1389, 00:23 صبح
مشخص نکردین از چه نسخه ای استفاده می کنید. 2000 ؟
مطمئن هستین Oms هم Text هست؟

من در 2008 آزمایش کردم. نمیشه بر اساس ستون از نوع Text گروه بندی انجام بدیم:


declare @t table(i text)
select i from @t group by i

/*
Msg 306, Level 16, State 2, Line 2
The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator.
*/


سلام
من در این پروژه از دیتابیس Access استفاده میکنم ( مشتری خواسته ) و مطمئنم که oms هم از نوع Text میباشد .

Hossein Bazyan
شنبه 25 اردیبهشت 1389, 00:41 صبح
سلام
دوستان بحث سر گروه بندی نوع داده نیست من با داده نوع عددی هم امتحان کردم

SELECT k_id, k_a_naam, SUM(incBTW) AS IncBtw1, SUM(BTW) AS AllBtw, SUM(exBTW) AS exclBTW FROM verkopen GROUP BY k_id
که k_id فیلد عددی میباشد اما باز هم همان خطا رو میده
البته اگر Sum ها رو برمیدارم ( گروه یندی حذف میشه ) همه چی درست میشه

dadsara
یک شنبه 26 اردیبهشت 1389, 08:23 صبح
سلام
می تونی این قسمت از فایلت که مشکل داره را آپلود کنی

Hossein Bazyan
یک شنبه 26 اردیبهشت 1389, 13:37 عصر
سلام
می تونی این قسمت از فایلت که مشکل داره را آپلود کنی

سلام
مشکل من در برنامه نیست فقط مشکل من در کوئریه که بالا نوشتم.
من کوئری بالا رو در اکسس هم که اجرا میکنم جواب نمیده



SELECT k_id, k_a_naam, SUM(incBTW) AS IncBtw1, SUM(BTW) AS AllBtw, SUM(exBTW) AS exclBTW FROM verkopen GROUP BY k_id

mazoolagh
سه شنبه 28 اردیبهشت 1389, 15:28 عصر
این کوئری آخری باید در group by هم K-id باشه هم k_a_naam

Hossein Bazyan
سه شنبه 28 اردیبهشت 1389, 15:41 عصر
این کوئری آخری باید در group by هم K-id باشه هم k_a_naam

سلام
آره این درسته . منهم به این نتیجه رسیده بودم.
این مشکل رو فقط Access داره

mazoolagh
سه شنبه 28 اردیبهشت 1389, 15:55 عصر
البته MSSQL هم همین هست یعنی هر فیلدی که در SELECT ظاهر میشه اگربا تابع DOMAIN AGGREGATE همراه نیست باید در بخش GROUP BY هم بیاد
-----------------
ضمنا سلام ما رو هم به آندره ریو برسونین:چشمک: