PDA

View Full Version : یک Query خاص



mahdi_negahi
یک شنبه 23 تیر 1387, 12:37 عصر
سلام من یک جدول موقت به صورت زیر درست کردم



CREATE Table #GoodsTemp(ID int primary key,Att1 bigint,Att2 bigint,Att3 bigint,Att4 bigint,Att5 bigint,Att6 bigint,Att7 bigint,Att8 bigint,Att9 bigint,Att10 bigint,Att11 bigint,Att12 bigint,Att13 bigint,Att14 bigint,Att15 bigint)


این جدول به برای یک گزارش گیری خاص در یک پایگاه داده OPEN SCHEMA به وجود می آید.حال من میخواهم سطرهایی که مثل هم هستند در یک سطر آورده شوند و تعداد آنها نوشته شود ، البته در یک تاپیک جدا به بحث در مورد درست بودن راه حل من درمورد این گزارش پرداخته میشود.

مثلا در عکس مرتبط......................

night_walker
یک شنبه 23 تیر 1387, 14:45 عصر
با سلام

SELECT Att1, Att2, Att3, COUNT(*) AS Rec_Count
FROM GoodsTemp
GROUP BY Att1, Att2, Att3با این کد مشکلت حل میشه ولی دیگه نمیتونی ID رو توی فیلدها داشته باشی. فقط کافی تمام فیلدهات رو توی خروجی داشته باشی و تمام اونها رو هم در Group By و یک Count هم در آخر دستور Select

mahdi_negahi
یک شنبه 23 تیر 1387, 15:59 عصر
آقا درست درد نکنه
ولی هنوز یک مشکل :
اگر Att1 با Att10 عوض شود باید جواب یکی بدهد ؟
این مشکل اساسی من است

night_walker
دوشنبه 24 تیر 1387, 08:56 صبح
یک ذره توضیح بیشتر میدی میخوای چیکار کنی شاید راه بهتری داشته باشه. من منظور این پست آخری رو نفهمیدم.

mahdi_negahi
دوشنبه 24 تیر 1387, 09:48 صبح
ببین فرض کن در سطر اول تمام Att ها یک باشد جز Att آخری
ولی در سطر دوم همه 1 هستند جزء Att اولی

این دو سطر باید جزء یک گروه شوند

night_walker
دوشنبه 24 تیر 1387, 13:45 عصر
اگه فقط تفاوت توی فیلدهای اول و آخر هست که می تونی Group By رو روی همه فیلدها به غیر از اون دو تا بزاری ولی این طوری که گفتی من نمیدونم چیکار کنم. احتمالا میخوای اگه هر رکورد با رکورد دیگه در تمامی فیلدها غیر از یک دونه مشترک بود تعدادش نشون داده بشه. پیشنهاد میکنم این کار رو توی یک زبون برنامه نویسی انجام بدی چون اونجا دستت بازتره.