我有一些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我们都是初学者,你可能会说。
答案 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引用回该表的列一样多。
在您选择语句时,使用来自不同别名的列来获取所需的结果。