PDA

View Full Version : مشکل با یک Query



Buggsbunny
چهارشنبه 18 مهر 1386, 12:32 عصر
من توی پایگاه داده یک table دارم که اطلاعات محصولات رو نگهداری می کنه مشکلم اینه که مثلاً یک محصول با یک نام می تونه چند تا Size داشته باشه واسه همین جدول رو تجزیه کردم و جدول سایز محصولات ایجاد شد.
حلا یک query می خوام که از همه محصولات فقط یک سایزشون برگردونه.
مرسی از توجهتون

roozkhosh
چهارشنبه 18 مهر 1386, 13:22 عصر
برای اینکار من پیشنهاد میکنم ابتدا یه view بسازی و دو تا جدول رو به هم join کنی بعد به راحتی مینوانی کوئری مورد نظر رو صادر کنی ولی این تنها راه مشکلت نیست و میتونی مستقیم هم این کار رو بکنی. برای درست کردن view مباحث مربوط به jion هم من پیشنهاد میکنم از help خود Sql server یا هر کتابی در این زمینه استفاده کنی تا اینکه من برات یه نمونه بذارم. تقریبا تمام کتاب های دیتابیس این چیزا رو توضیح کامل و واضح داده اند.

AminSobati
جمعه 20 مهر 1386, 22:47 عصر
SELECT p.ProductName, MAX(ps.Size) FROM Products p
JOIN ProductSize ps
ON p.ProductID=ps.ProductID
GROUP BY p.ProductName

Buggsbunny
چهارشنبه 02 آبان 1386, 10:57 صبح
مرسی اون مشکل یا راه حل آقای ثباتی حل شد مشکل جدیدم اینه که تابع MAX v در مورد فیلد های با نوع char بر اساس ترتیب الفبا جواب رو می ده ولی من فیلدی رو می خوام که طول رشتش بزرگتره! خودوم یه تابع واسه اینکار نوشتم به این صورت:


SELECT DISTINCT Description
FROM Product_description
WHERE (LEN(Description) =
(SELECT MAX(LEN(Description)) AS Expr1
FROM Product_description))



ولی مشکل اینه که نمی تونم یه column به این تابع پاس بدم که این کار رو روی مقادیر اون ستون انجام بده
راهش چیه؟

AminSobati
چهارشنبه 02 آبان 1386, 15:34 عصر
SELECT TOP 1 WITH TIES * FROM MyTable
ORDER BY LEN(MyCol) DESC