给出3个表格,下面有列......
表(列)
A(a_pk,b_pk,其他)
B(b_pk,a_pk,c_pk)
C(c_pk,b_pk,date)
(评论:pk是主键,日期是日期)
......我正试图选择......
A.a_pk,A.other,C.date
......具有以下限制:
B.a_pk的max(B.b_pk)组(仅为每个A.a_pk选择B.b_pk的最大值)
A.other ='something'(只是一个WHERE示例)
订购C.date(按最新日期排序)
下面是一次没有成功的尝试(其他人看起来更加搞砸了)
SELECT A.a_pk, A.other, C.date
FROM A, C
WHERE
A.other = 'something'
AND
A.a_pk IN
(
SELECT max(B.b_pk), B.a_pk, B.c_pk, C.date
FROM B
INNER JOINT C ON C.b_pk = B.b_pk
GROUP BY B.a_kp
)
ORDER BY C.date DESC
应该怎么做?
答案 0 :(得分:0)
尝试
Select A.a_pk, A.other, C.date
From A Left Join (B Join C On C.b_pk = B.b_pk)
On B.a_pk = A.a_pk
And B.b_pk =
(Select Max(b_pk)
From B
Where a_pk = A.a_pk)
Order By C.Date