2
内重复使用VAR我做follwoing例如为:MS SQL服务器:将值分配给变量和查询
SELECT name1, name2, left(name1,2) + '_' + left(name2,2), ID, ID + left(name1,2) + '_' + left(name2,2)
from person
所以left(name1,2) + '_' + left(name2,2)
用1倍以上。有什么办法可以做得更好吗?我有问题,我必须调用相同的功能链10 - 15次。
其他例如:
我的一些疑问,我需要用一个子查询
例如获得价值
Select name, (Select something from some_table where X=Y) , age from person
在某些情况下,我需要从子查询返回的不同列也值了。
例如
Select name, (Select something from some_table where X=Y) , age,
left((Select something from some_table where X=Y),2) as Test
from person
必须有一个更简单的方法......对吧?
那么这是一个有点乱肯定。但SQL Server不会执行两次子查询。通常他会决定两个子选择都会返回相同的结果,并重新使用这两个操作的结果。 – Ionic
你可以将你的SELECT封装在CTE中,并提供别名。这些哟可能在后者中使用 – Shnugo
在你的第一个例子中,你的表结构似乎是真正的问题。但是如果您发现自己需要使用列的连接部分,则可以查看计算列。它使这种事情更容易处理。 –