小编HHH*_*HHH的帖子

动态视图管理查询

我想sys.dm_exec_sql_text()在下面的查询中为 [sql_handle]应用表值函数。

SELECT  sql_handle
FROM    sys.dm_exec_query_stats A
Run Code Online (Sandbox Code Playgroud)

对我来说,以下 2 个查询不起作用

Select  *,sys.dm_exec_sql_text(A.sql_handle)
from    sys.dm_exec_query_stats A 

Error:
Msg 4121, Level 16, State 1, Line 1
Cannot find either column "sys" or the user-defined function or aggregate "sys.dm_exec_sql_text", or the name is ambiguous.

Select  *
from sys.dm_exec_query_stats A,
sys.dm_exec_sql_text(A.sql_handle)

Error:
Msg 4104, Level 16, State 1, Line 3
The multi-part identifier "A.sql_handle" could not be bound.
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2012

5
推荐指数
1
解决办法
343
查看次数

LEFT JOIN根据WHERE条件的位置给出不同的数据集

请参阅以下3个计数,只是为了简要介绍一下表格数据.所有skCitizen的[dbo].[LUEducation]存在于[dbo].[LUCitizen]

SELECT  COUNT(*) FROM   [dbo].[LUCitizen] --115000 ROWS
SELECT  COUNT(*) FROM   [dbo].[LUEducation]  --201846 ROWS

SELECT  COUNT(*) --212695 ROWS
FROM    [dbo].[LUCitizen] C
LEFT JOIN   [dbo].[LUEducation] E
ON      C.skCitizen = E.skCitizen

SELECT  COUNT(*) FROM   [dbo].[LUEducation] WHERE skSchool = 24417 --4 ROWS
Run Code Online (Sandbox Code Playgroud)

请参阅以下2个查询,

SELECT  C.skCitizen,E.skCitizen
FROM    [dbo].[LUCitizen] C
LEFT JOIN   [dbo].[LUEducation] E
ON      C.skCitizen = E.skCitizen
WHERE   E.skSchool = 24417
--4 ROWS

SELECT  C.skCitizen,E.skCitizen
FROM    [dbo].[LUCitizen] C
LEFT JOIN   (SELECT * FROM [dbo].[LUEducation] WHERE skSchool = 24417) E
ON …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2008 sql-server-2012

5
推荐指数
2
解决办法
602
查看次数

Tsql和(&)令人困惑

Select Cast(656878503183 as bigint)  & Cast(8 as bigint)

Result
8
Run Code Online (Sandbox Code Playgroud)

有人可以帮我弄这个吗.8的结果怎么样?我有点迷失了.

最后一位数字656878503183可能是3

0011 AND
1000
-----
0000 
Run Code Online (Sandbox Code Playgroud)

这是0

sql t-sql sql-server

1
推荐指数
1
解决办法
82
查看次数