PDA

View Full Version : سلکت نام گروه گالری از یک جدول و اولین عکس هر گروه گالری



bftarane
پنج شنبه 05 دی 1392, 11:06 صبح
سلام.
فرض کنید دو جدول زیر رو که عکسش رو ضمیمه کردم داریم
یه جدول برای گروه گالری و جدول دوم عکسها به ازای هر گروه گالری ذخیره میشن
من می خوام در یک صفحه اولین عکس هر گروه گالری رو به همراه اسم گروه گالری نشون بدم
یعنی اگه 10 تا گروه گالری داریم میشه 10 تا عکس با 10 تا عنوان
این سلکت رو چطور میشه انجام داد؟
با inner join که فکر نمی کنم بشه چون یکی Select هست و دیگری select top 1
ممنون

a_mzadeh
پنج شنبه 05 دی 1392, 13:08 عصر
سلام؛
شاید این کوئری جواب بده:
SELECT
*,
(SELECT top(1) * FROM tbl_Gallery WHERE tbl_GalleryCat.GC_ID=tbl_Gallery.GC_ID) AS FirstIMG
FROM tbl_GalleryCat

bftarane
پنج شنبه 05 دی 1392, 15:36 عصر
ممنون.
کدی که شما گذاشتید این خطا رو می ده
Msg 116, Level 16, State 1, Line 3
Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.
ولی با استفاده از این لینک مشکل حل شد
http://sqlblog.com/blogs/adam_machanic/archive/2008/02/08/who-s-on-first-solving-the-top-per-group-problem-part-1-technique.aspx
متد اول
به شکل زیر نوشتم

SELECT
c.Folder,
c.GC_ID,
o.Pic

FROM tbl_GalleryCat c
JOIN tbl_Gallery o ON o.GC_ID = c.GC_ID
WHERE
o.G_ID =
(
SELECT MAX(o1.G_ID)
FROM tbl_Gallery o1
WHERE
o1.GC_ID = o.GC_ID
)