PDA

View Full Version : تبديل (تناظر يك به چند) به (تناظر يك به يك)



iran400
شنبه 30 بهمن 1389, 19:29 عصر
سلام عليكم
بنده دوتا تيبل دارم كه به همديگر اينرجوين مي خورند
مشكلي كه الان بنده دارم اينه كه مي خواهم در ايننرجوين كه مي زنم فقط به آخرين ركوردي كه براي فرد ساخته شده است مرتبط شود يعني ارتباط يك به يك با آخرين ركورد فرد بر اساس تاريخ

table1
table1id title
1 hamid
2 reza
3 hadi


table2
table2id table1id title date
1 1 title1 5-2-2005
2 1 title2 6-2-2005
3 1 title3 7-2-2005
4 2 title1 5-2-2005
5 2 title2 6-2-2005
6 2 title3 7-2-2005
7 3 title1 5-2-2005
8 3 title2 6-2-2005
9 3 title3 7-2-2005
10 3 title3 8-2-2005

Reza_Yarahmadi
یک شنبه 01 اسفند 1389, 08:52 صبح
با دستوري مثل دستور زير ميونيد اين كار رو انجام بديد (اين دستور از 2005 به بالا جواب ميده)

With dup as(
Select Table1Id, Max(Table2Id) as Table2Id
From Table2
Group By Table1Id
Having date = Max(date)
), res as(
Select t2.*
From Table2 t2 Inner Join Dup d
On t2.Table2Id = p.Table2Id
)

Select *
From Table1 t1 Inner join res t2
On t1.Id = t2.Table1Id