我有 10 个表,我将它们连接在一起以创建 View 。我只从每个表中选择 ID,但在 View 中,每个 ID 可以显示多次,但所有 ID 的组合始终是唯一的。有没有办法在此 View 中创建另一列作为唯一 ID?
我希望能够存储唯一 ID 并使用它来查询 View ,以获得所有其他 ID。
最佳答案
我遇到了类似的问题,我需要跨多个表建立层次结构。如果您使用整数作为每个表中的 id,则只需将每个表的 id 转换为 varchar,并为每个表添加不同的字母作为前缀。例如
创建 View 位置层次结构为
SELECT 'C' + CONVERT(VARCHAR,[Id]) 作为 Id
,[姓名]
,'S' + CONVERT(VARCHAR,[State]) 作为父级
从 [城市]
联盟
SELECT 'S' + CONVERT(VARCHAR,[Id]) 作为 Id
,[姓名]
,'C' + CONVERT(VARCHAR,[Suburb]) 作为父级
从[郊区]
等
此解决方案的有效性将取决于您的数据集有多大。
关于sql - 是否可以在 SQL Server View 中创建一个唯一 ID,该 ID 在每次调用 View 时都保持不变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1842537/