PDA

View Full Version : سوال: بازیابی اطلاعات از دو جدول



ezamnejad
پنج شنبه 16 آبان 1387, 12:05 عصر
با سلام
من یه جدول دارم که یه تعدادی فیلد داره . این جدول با یه جدول دیگه ارتباط یک به چند داره . من میخوام با یه query لیست رکوردهای جدول اول با اخرین رکورد ثبت شده مربوط به این رکورد در جدول دوم رو بدست بیارم . در ضمن توی جدول دوم یه فیلد تاریخ دارم که میخوام اگه از تاریخ جاری کوچکتر بود نمایش داده بشه .
جدول اول چند تا فیلد داره :
code,name,tel
جدول دوم
id,code,RegDate

behnam_dr
پنج شنبه 16 آبان 1387, 12:44 عصر
دوست عزیز ; باید سوال کنم که منظورتون از ''من میخوام با یه query لیست رکوردهای جدول اول با اخرین رکورد ثبت شده مربوط به این رکورد در جدول دوم رو بدست بیارم . '' واینکه فرموده اید ارتباط یک به چند است !! چیست؟ آخه این دو جمله کاملا متناقض هستند . اگر ارتباط شما یک ارتباط یک به چند است یعنی رکوردی از جدول اول با یک شماره آیدی میتواند در جدول دوم دارای چند ركورد با يك شماره آیدی (كه در جدول اول يك فيلد خارجي است) ...

لطفا سوالتون رو واضح بفرمائید بنده اگر شایسته پاسخ دادن به سوال شما باشم در خدمتم .

ezamnejad
پنج شنبه 16 آبان 1387, 13:06 عصر
ممنون از حسن توجهتون
ببینید ممکنه به ازای هر رکورد از جدول اول چند رکورد در جدول دوم ثبت شده باشه ولی من فقط اون رکورد رو به ازای اخرین رکورد ثبت شده مربوط به اون در جدول دوم میخوام

کم حوصله
شنبه 18 آبان 1387, 08:31 صبح
سلام
در نظر بگیرید فیلد Code در جدول اصلی(اول) کلید و در جدول دوم کلید خارجی باشد!



Select A.code, A.name, A.tel, B.id, B.RegDate
From
Table1 A Left Outer Join
(Select
id,code,RegDate
From
Table2 T1 Inner Join
(Select
Code, Max(RegDate) AS RegDate
From
Table2
Group By Code) T2 ON T1.code = T2.code And T1.RegDate = T2.RegDate) B A.Code = B.Code

behnam_dr
یک شنبه 19 آبان 1387, 22:08 عصر
SELECT MAX(Table2.[date]) AS Expr1, Table2.code, Table1.name
FROM Table2 ,table1
where Table2.code = Table1.code
GROUP BY Table2.code, Table1.name

behnam_dr
یک شنبه 19 آبان 1387, 22:12 عصر
دوست عزیزم پاسخی براتون ارسال کردم پاسخی کاملا راحت و شیواست البته پاسخ دوستمون آقای کم حوصله هم کاملا درست عمل میکنه اما درک اون خیلی راحت نیست