Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL server显示了错误的行号 这是我的sql_Sql_Sql Server - Fatal编程技术网

SQL server显示了错误的行号 这是我的sql

SQL server显示了错误的行号 这是我的sql,sql,sql-server,Sql,Sql Server,然后显示右边的行号。如果不排除该行和位置,行编号是否可以显示?请帮忙。由于采用了这种编写方式,子查询“x”将返回一个有序的数据集。返回该数据集后,以下行将其筛选为与之匹配的行: AND x.jid IN (SELECT CONVERT(VARCHAR, data) AS [JID] FROM dbo.Split1('33180,33265,33047', ',')) 将此条件移动到“x”子查询中应该会产生所需的结果 即 如果要从子查询中选择20行,则需要确保在对行进行编号之前/同时应用筛选行的

然后显示右边的行号。如果不排除该行和位置,行编号是否可以显示?请帮忙。由于采用了这种编写方式,子查询“x”将返回一个有序的数据集。返回该数据集后,以下行将其筛选为与之匹配的行:

AND x.jid IN (SELECT CONVERT(VARCHAR, data) AS [JID] FROM dbo.Split1('33180,33265,33047', ','))
将此条件移动到“x”子查询中应该会产生所需的结果


如果要从子查询中选择20行,则需要确保在对行进行编号之前/同时应用筛选行的任何条件。将条件移动到子查询中:

SELECT * 
FROM   (SELECT Row_number() 
                 OVER ( ORDER BY [bbajobs].jid ) AS RowNumber, 
               [bbajobs].[jid], 
               [accountreference]          AS [Acc Ref], 
               [bbajobs].[oereference]     AS [OERef], 
               [jobtype], 
               [jobstate], 
               [jobshippeddate], 
               [upsshippingnumber], 
               [customername]              [Customer Name], 
               [contactname]               [Contact Name], 
               [telephone], 
               [jobdescription], 
               [callrem].[rem], 
               [callrem].[callstatus], 
               [callrem].[shopremarks], 
               customernotes, 
               shopnotes, 
               recieveddate, 
               username 
        FROM   dbo.bbajobs 
               LEFT OUTER JOIN dbo.callrem 
                            ON dbo.bbajobs.jid = dbo.callrem.jid
        WHERE dbo.bbajobs.jid IN (SELECT CONVERT(VARCHAR, data) AS [JID] 
                     FROM   dbo.Split1('33180,33265,33047', ',')) ) x 
WHERE  1 < 2 
       AND rownumber BETWEEN 1 AND 20 

行号是在应用ID上的where子句之前计算的

将ID的where子句移动到括号内的语句中,如下所示-

SELECT * FROM  
(
SELECT Row_number() OVER (ORDER BY [bbajobs].JID) AS RowNumber,                    
[BBAJobs].[JID],[AccountReference] as [Acc Ref],[BBAJobs].[OEReference] as [OERef],[JobType],[JobState],
[JobShippedDate],[UPSShippingNumber],[CustomerName] [Customer Name],[ContactName] [Contact Name],[Telephone],
[JobDescription],[CallRem].[rem],[CallRem].[callStatus],[CallRem].[ShopRemarks],
CustomerNotes,ShopNotes,RecievedDate,UserName 
FROM dbo.BBAJobs LEFT OUTER JOIN dbo.CallRem 
ON dbo.BBAJobs.JID = dbo.CallRem.jid
WHERE [bbajobs].jid IN (SELECT CONVERT(VARCHAR, data) AS [JID] FROM dbo.Split1('33180,33265,33047', ','))     
) 
x 
WHERE 1<2            
AND RowNumber BETWEEN 1 AND 20

未测试,但它应该可以工作。

试试这个。。。过滤掉内部查询中的行

SELECT * FROM  
     (
  SELECT Row_number() OVER (ORDER BY [bbajobs].JID) AS RowNumber
       ,[BBAJobs].[JID]
       ,[AccountReference] as [Acc Ref]
       ,[BBAJobs].[OEReference] as [OERef]
       ,[JobType],[JobState]
       ,[JobShippedDate]
       ,[UPSShippingNumber]
       ,[CustomerName] [Customer Name]
       ,[ContactName] [Contact Name]
       ,[Telephone]
       ,[JobDescription]
       ,[CallRem].[rem]
       ,[CallRem].[callStatus]
       ,[CallRem].[ShopRemarks]
       ,CustomerNotes
       ,ShopNotes
       ,RecievedDate
       ,UserName 
   FROM dbo.BBAJobs LEFT OUTER JOIN dbo.CallRem 
   ON dbo.BBAJobs.JID = dbo.CallRem.jid
   WHERE [BBAJobs].[JID] IN 
                          (SELECT CONVERT(VARCHAR, data) AS [JID] 
                           FROM dbo.Split1('33180,33265,33047', ',')) 
   ) x 
WHERE 1<2                   
AND RowNumber BETWEEN 1 AND 20
行号1、2和3的[BBAJobs].[JID]值是多少??
SELECT * 
FROM   (SELECT Row_number() 
                 OVER ( ORDER BY [bbajobs].jid ) AS RowNumber, 
               [bbajobs].[jid], 
               [accountreference]          AS [Acc Ref], 
               [bbajobs].[oereference]     AS [OERef], 
               [jobtype], 
               [jobstate], 
               [jobshippeddate], 
               [upsshippingnumber], 
               [customername]              [Customer Name], 
               [contactname]               [Contact Name], 
               [telephone], 
               [jobdescription], 
               [callrem].[rem], 
               [callrem].[callstatus], 
               [callrem].[shopremarks], 
               customernotes, 
               shopnotes, 
               recieveddate, 
               username 
        FROM   dbo.bbajobs 
               LEFT OUTER JOIN dbo.callrem 
                            ON dbo.bbajobs.jid = dbo.callrem.jid
        WHERE dbo.bbajobs.jid IN (SELECT CONVERT(VARCHAR, data) AS [JID] 
                     FROM   dbo.Split1('33180,33265,33047', ',')) ) x 
WHERE  1 < 2 
       AND rownumber BETWEEN 1 AND 20 
SELECT * FROM  
(
SELECT Row_number() OVER (ORDER BY [bbajobs].JID) AS RowNumber,                    
[BBAJobs].[JID],[AccountReference] as [Acc Ref],[BBAJobs].[OEReference] as [OERef],[JobType],[JobState],
[JobShippedDate],[UPSShippingNumber],[CustomerName] [Customer Name],[ContactName] [Contact Name],[Telephone],
[JobDescription],[CallRem].[rem],[CallRem].[callStatus],[CallRem].[ShopRemarks],
CustomerNotes,ShopNotes,RecievedDate,UserName 
FROM dbo.BBAJobs LEFT OUTER JOIN dbo.CallRem 
ON dbo.BBAJobs.JID = dbo.CallRem.jid
WHERE [bbajobs].jid IN (SELECT CONVERT(VARCHAR, data) AS [JID] FROM dbo.Split1('33180,33265,33047', ','))     
) 
x 
WHERE 1<2            
AND RowNumber BETWEEN 1 AND 20
SELECT * FROM  
     (
  SELECT Row_number() OVER (ORDER BY [bbajobs].JID) AS RowNumber
       ,[BBAJobs].[JID]
       ,[AccountReference] as [Acc Ref]
       ,[BBAJobs].[OEReference] as [OERef]
       ,[JobType],[JobState]
       ,[JobShippedDate]
       ,[UPSShippingNumber]
       ,[CustomerName] [Customer Name]
       ,[ContactName] [Contact Name]
       ,[Telephone]
       ,[JobDescription]
       ,[CallRem].[rem]
       ,[CallRem].[callStatus]
       ,[CallRem].[ShopRemarks]
       ,CustomerNotes
       ,ShopNotes
       ,RecievedDate
       ,UserName 
   FROM dbo.BBAJobs LEFT OUTER JOIN dbo.CallRem 
   ON dbo.BBAJobs.JID = dbo.CallRem.jid
   WHERE [BBAJobs].[JID] IN 
                          (SELECT CONVERT(VARCHAR, data) AS [JID] 
                           FROM dbo.Split1('33180,33265,33047', ',')) 
   ) x 
WHERE 1<2                   
AND RowNumber BETWEEN 1 AND 20