View Full Version : سوال: اجرای دستور Select
behiunforgiven
شنبه 22 خرداد 1389, 11:11 صبح
سلام دوستان
من با این کد یه دستور Select نوشتم که به من چند تا ID رو بر می گردونه
SELECT DISTINCT TankNumber AS TnkNo, MAX(ID) AS Expr1
FROM TEvens
WHERE (DateAndTime = '6/12/2010 ')
GROUP BY TankNumber
حالا می خوام تمام مشخصات ردیف هایی که دارای این ID ها هستند رو بر گردونم.
نمی دونم باید چیکار کنم.
با استفاده از Extists و Select تو در تو امتحان کردم نشد.
carnation_heart
شنبه 22 خرداد 1389, 11:20 صبح
select TEvens.*
from TEvens,(
SELECT DISTINCT TankNumber AS TnkNo, MAX(ID) AS Expr1
FROM TEvens
WHERE (DateAndTime = '6/12/2010 ')
GROUP BY TankNumber)q1
where TEvens.id=q1.Expr1
behiunforgiven
شنبه 22 خرداد 1389, 11:45 صبح
فقط زدن دکمه تشکر کافی نبود.
یه دنیا تشکر دوست گرامی.
محمد سلیم آبادی
شنبه 22 خرداد 1389, 12:07 عصر
اگر ستون ID در جدول پرایمری و منحصر بفرد هست روش معرفی شده درست عمل می کنه در غیر این صورت نیاز دارین در شرط اتصال ترکیبی عمل کنید. در ضمن نیازی به DISTINCT در جلوی SELECT وجود نداره.
و اگر از SQL Server 2005 استفاده می کنید بهترین راه حل استفاده از ROW_NUMBER هست که از این مقاله می توانید با آن آشنا شوید:
http://www.30sharp.com/ShowArticle.aspx?nid=13&did=210&AuthorID=11
mariaviolla
شنبه 22 خرداد 1389, 21:01 عصر
اگر ستون ID در جدول پرایمری و منحصر بفرد هست روش معرفی شده درست عمل می کنه در غیر این صورت نیاز دارین در شرط اتصال ترکیبی عمل کنید. در ضمن نیازی به DISTINCT در جلوی SELECT وجود نداره.
و اگر از SQL Server 2005 استفاده می کنید بهترین راه حل استفاده از ROW_NUMBER هست که از این مقاله می توانید با آن آشنا شوید:
http://www.30sharp.com/ShowArticle.aspx?nid=13&did=210&AuthorID=11
SELECT *
FROM (SELECT *,
ROW_NUMBER() OVER(PARTITION BY Customerid
ORDER BY orderdate DESC) AS RecID
FROM Orders) D
WHERE RecID <= 3
می شه دقیقا این Row_number رو توضیح بدید که تو این خط چه میکنه ممنون منتظرم ;
محمد سلیم آبادی
یک شنبه 23 خرداد 1389, 12:45 عصر
می شه دقیقا این Row_number رو توضیح بدید که تو این خط چه میکنه ممنون منتظرم ;
این تابع به طور کلی شماره های متوالی به نتیجه ی کوئری بر اساس ترتیب مقدار یک ستون می دهد.
پیشنهاد می کنم به قسمت مربوطه در این ترفند رجوع کنید
http://www.30sharp.com/ShowArticle.aspx?nid=13&did=195&AuthorID=11
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.