SQL Server:如何对同一个表替换值进行多次引用

时间:2014-01-14 16:31:48

标签: sql sql-server

我有一些SQL Server表来构建短语或任务的结构。

表1包含大约5或6列,所有列都包含对应于不同表的整数。

表1示例:123,32,9999,0,213,321。

第一列就像链接到表2的where条件(保存索引号和相应的条件文本来替换,例如'Where','After')。然后第二列链接到短语/对象表,其中包含单词,例如'Pay'或'cashier'。等等。

我可以运行一个select语句,左边连接master,第一个表满了索引到其他表但我的问题是当第一个表中的3列都引用包含短语/对象单词质量的第二个表时。

什么是最佳替换表1的Select语句中的整数的函数,该函数对另一个表进行大量引用?

所需的返回结果可能是:(表2参考)晚餐(表3参考)儿童(表3参考)洗(表3参考)所有(表4参考)菜肴(表3参考)

我知道这可能不是一个理想的表格结构,但我正在帮助一个朋友。 谢谢。

PS我们都是初学者,你可能会说。

1 个答案:

答案 0 :(得分:2)

在你有多个列引用回同一个表的情况下,你可以再次加入同一个表,只是换一个别名......就像....

SELECT R1.SomeColumn, R2.SomeColumn
FROM Master_table M 
         INNER JOIN Refrenced_Table R1  --<-- Alias R1
ON M.Column1 = R1.Pk                   -- JOIN Condition with Alias R1
       INNER JOIN Refrenced_Table R2      --<-- Alias R2
ON M.Column2 = R2.Pk                  -- JOin condition with Alias R2

将Master表连接回Referencing表,其数量与每次使用不同Alias引用回该表的列一样多。

在您选择语句时,使用来自不同别名的列来获取所需的结果。