PDA

View Full Version : در مورد نوشتن یه کوئری



Ali_M_K
چهارشنبه 04 مرداد 1391, 19:07 عصر
سلام
من یه کوئری تقریبا پیچیده لازم دارم که امیدوارم بتونید کمکم کنید
هر ردیف از جدول من، یک درس و نمره متناظر اون رو برای یک دانش آموز رو داره
جدولی که میخوام استخراج کنم، در هر ردیفش نمره های یک دانش آموز رو نشون میده، هدر ستون ها نام درس ها هستن. مثال زیر بیشتر کمک میکنه


جدول من:

stdID................ lesNa ................ gr
_________________________________
1001 .................mat................ 10
1001 ................ spo................ 17
1002 ..................tri................ 15
1002 ..................spo................ 12
1006.................. lan ............... 18


و میخوام همچین خروجی داشته باشم:

stdNO................ mat................ spo................tri ................ lan
__________________________________________________ ______
1001 ................10...................17........... .................................
1002 ......................................12.......... ........15 .....................
1006 .................................................. ..............................18


ممنون از توجه و کمک شما

maktoom
چهارشنبه 04 مرداد 1391, 23:24 عصر
سلام
تبدیل رکورد به فیلد رو جستجو کنید.
یادمه یه بار دیگه کسی همچین سوالی پرسیده بود. پاسخش تویه سینتکسی بود شبیه به : pilot دقیقش یادم نیست. اما یادمه اونجا گفته شده بود که می خوا مقادیری رو از رکوردها به ستونها بیاره.

baktash.n81@gmail.com
پنج شنبه 05 مرداد 1391, 11:54 صبح
سلام

این یه مثال می تونید برای خودتون تغییرش بدید ... بهتره دنبال Pivot بگردید ...


USE AdventureWorks2008R2;
GO
SELECT VendorID, [250] AS Emp1, [251] AS Emp2, [256] AS Emp3, [257] AS Emp4, [260] AS Emp5
FROM
(SELECT PurchaseOrderID, EmployeeID, VendorID
FROM Purchasing.PurchaseOrderHeader) p
PIVOT
(
COUNT(PurchaseOrderID)
FOR EmployeeID IN
( [250], [251], [256], [257], [260] )
)AS pvt
ORDERBY pvt.VendorID;

Ali_M_K
شنبه 07 مرداد 1391, 00:51 صبح
با سلام و تشکر از BAKTASH برای جوابی که ارسال کرده بود
من لینک خوبی با توضیحات کامل پیدا کردم. حتما ببینید

http://sqlserver2008.persianblog.ir/post/41/