【发布时间】:2017-05-21 16:13:52
【问题描述】:
我有一张桌子,上面有 ProducerName 和 ProducerRequirementsListID
每个ProducerName 应该有 3 个要求(1,2,3),但其中一些可能至少缺少其中一个:1、2 或 3。
那么我怎样才能捕捉到唯一的ProcucerName 至少缺少一个ProducerRequirementsListID?
理想情况下将创建 3 个新列 Req_1,Req_2 Req_3 并为每个唯一的 ProducerName 显示 TRUE 或 FALSE
类似的东西:
我应该使用WHILE 循环来进行这样的操作吗?
【问题讨论】:
-
不,你绝对不应该为此使用循环。循环是非常低效的,应该避免,除了极少数例外,主要是邮件合并或一些管理任务。
-
我会敦促你在这里规范你的结构。一遍又一遍地重复 ProducerName 会变得非常有问题。如果您有超过 1 个同名,会发生什么?或者当您因为输入错误而需要更改名称时会发生什么?您必须更新 Producer 表中的所有行而不是 1 行。
-
谢谢#Sean。我同意你的看法。我们正在努力使结构正常化。谢谢
标签: sql-server tsql while-loop