这是我的方案
表1:GID || INFO1
表2:GID || Tb1GID(指 表1的GID || INFO2
表3:GID || INFO3
表4:GID || Tb2GID(指 表2的GID || Tb3GID(指 表3 GID ||值
现在我必须构建一个sql查询来获取值,给定一个特定的Info1,Info2,Info3。 本质上,我必须通过映射表1的info2和GID,使用info1,表格的GID获得表1的GID,然后使用信息3获取表3的GID。并将这些组合到GID以获取值在表4中。
为此构建SQL查询的最佳方法是什么?
答案 0 :(得分:2)
只需加入id:s上的表格并匹配条件中的信息值:
select
t4.Value
from
[Table 1] as t1
inner join [Table 2] as t2 on t2.Tb1GID = t1.GID
inner join [Table 4] as t4 on t4.Tb2GID = t2.GID
inner join [Table 3] as t3 on t3.GID = t4.Tb3GID
where
t1.Info1 = @Info1 and
t2.Info2 = @Info2 and
t3.Info3 = @Info3
这最清楚地传达了关系如何工作,为查询规划者提供了最佳信息。