use*_*241 10 sql sql-server-2005
我希望将列转换为字符串,其中列是选择语句,然后与另一列连接.这是使用CONVERT或CAST时出现混乱的地方.
例:
SELECT employeeID
,name
,location
,(SELECT COUNT(DISTINCT loginsFailed)
FROM users
WHERE (users.employeedID = userDetails.employeeID)
AND (users.startdate = 01-01-2013) as LoginCountFailed
,(SELECT COUNT(DISTINCT logins)
FROM users
WHERE (users.employeedID = userDetails.employeeID)
AND (users.startdate = 01-01-2013) as LoginCount
FROM userDetails
Run Code Online (Sandbox Code Playgroud)
现在,这个查询工作得很完美,因为它提供了正确的登录次数,并且作为整数失败了.但是,我想将这些整数用作字符串,因此我可以使用一列.有一个原因,这需要一个列作为字符串.
我想只有4列,而不是5.我想要的登录列是loginCountFailed/LoginCount.例如:3/12.我需要它作为一个字符串,因为你不能除以0,并且有时分母为0.
Ser*_*uşu 11
要在MSSQL-2005中连接数字,您应该使用CAST
CAST(loginsFailed AS VARCHAR(10)) + '/' + CAST(LoginCount AS VARCHAR(10))
Run Code Online (Sandbox Code Playgroud)
上面的loginsFailed和loginCount实际上是你的select count distinct片段
我希望这有效
CAST ((SELECT COUNT(DISTINCT loginsFailed) FROM users WHERE users.employeedID = userDetails.employeeID AND users.startdate = 01-01-2013) AS VARCHAR(10))
+ '/' +
CAST ((SELECT COUNT(DISTINCT logins) FROM users WHERE users.employeedID = userDetails.employeeID AND users.startdate = 01-01-2013) AS VARCHAR(10))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
81750 次 |
| 最近记录: |