【发布时间】:2012-06-23 09:42:00
【问题描述】:
我在 SQL Server Table1、Table2 和 Table3 中有 3 个表,其中 Table1 中的一列具有其他两个表的以逗号分隔的 PK 值。
现在我想将 Table1 列中的值分开,并根据找到的值从其他两个表中选择数据。
【问题讨论】:
-
为什么不更好地设计您的数据库...
-
数据库不是我设计的......但现在我们已经到了无法更改的阶段
-
您可以 (1) 将两列
FKTb12和FKTbl2添加到您的表中,(2) 从中提取数据一次逗号分隔的列到FKTb12和FKTbl2列中,(3) 建立从FKTb12和FKTbl2列到Table2和Table3的适当 FK 约束,然后 (4) 放弃糟糕的逗号分隔列全部在一起!很简单,真的... -
@marc_s:完全同意你的观点,这确实很容易。但也许 OP 意味着问题不仅仅是将 CSV 列转换为一组列。某些已经存在并且可能在生产中使用的代码也可能需要更改。我不是在为一般情况辩护,我的意思只是它可能并不那么容易。
标签: sql sql-server sql-server-2008 multiple-select-query