鉴于这些表:
GroupA,
GroupB(with a FK to GroupA.Id),
GroupC (with a FK to GroupB.Id and Image.Id),
Image
我正在尝试使用嵌套选择循环遍历每个 A 组,选择第一个具有匹配 FK 的 GroupB,选择 B 组的第一个 C 组,然后从图像表中选择一个字段。
这是一个网页,我将为每个 GroupA 输出以下内容
<h2>GroupA.Title...
<img src=Images.ImageUrl...
但要做到这一点,我需要拉出 Top GroupB,后者拉出 Top Group C,后者在 Inner Join 上获取图像。
我很确定嵌套选择不是前进的方向(第一个嵌套语句有效,但不是下一个使用第一个嵌套语句的结果)。有人可以指出我正确的方向吗?我确信有一种正确的方法可以做到这一点。
编辑:示例数据结构
GroupA {GroupAId,Title}
GroupB {GroupBId,FKGroupAId}
GroupC {GroupCId,FKGroupBId, FKImageId}
Image {ImageId,ImageUrl}
所以....如果它们是单独的查询,我可以
从 GroupA 中选择 * - 并遍历 GroupA 并选择单个 Top 1 GroupB 其中 GroupB.FKGroupAId = GroupA.GroupAId;
然后,我将选择前 1 个组 C,其中 GroupC.FKGroupBID = GroupB.GroupBId 与 Image 上的内部连接。
对于我想要获得的每个 GroupA 图像,这是 2 次选择 = 太多。