2012-03-03 166 views
0

我是一个初学者在SQL ...我搜索跨网络找到我的问题的解决方案,但我找不到任何合适的答案。寻找:数据选择方法

我在SQL Server数据库::

室下面的表格BOXSET

idField,RoomNumber

RoomID:外键房间表

BOXSET块标识:外键块表

我一直试图找到一种方法,根据房间表RoomNumber字段选择盒装表中的记录。

例如:我想选择属于RoomNumber = 1的BoxSet表中的所有记录。

回答

1
SELECT BS.* 

FROM Room R 
INNER JOIN Block B ON R.RoomId = B.RoomId 
INNER JOIN BoxSet BS ON B.BlockId = BS.BlockId 

WHERE R.RoomNumber = 1; 

这是JOIN functionality出现在每一个关系型数据库的一个非常基本的用法。

+0

因为它是作业只给一个普通的例子会更好恕我直言。 :) – 2012-03-03 07:08:31

+0

@TimMedora:加入Block应该在RoomId上。 Block有一个BlockId列的假设可能是有效的,但如果他明确地说过,它本可以很好。 – jmoreno 2012-03-03 07:09:15

+0

@juergend - 我可以去任何一个方向。有时候,最好的学习方法是看到你一直在想象和解决的问题,然后试验结果。 – 2012-03-03 07:10:16