Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.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 如何从select*from添加行号并获取所有列_Sql_Sql Server - Fatal编程技术网

Sql 如何从select*from添加行号并获取所有列

Sql 如何从select*from添加行号并获取所有列,sql,sql-server,Sql,Sql Server,我想添加行号,从表中选择连接列。我要全部列,而不是某一列。我需要修改下面的一些代码,但我不知道如何修改。需要你的帮助吗 SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY SMSAuctionItemId DESC) AS row ,a.SMSAuctionItemId ,a.nopolisi ,b.MerkName ,c.SeriN

我想添加行号,从表中选择连接列。我要全部列,而不是某一列。我需要修改下面的一些代码,但我不知道如何修改。需要你的帮助吗

SELECT *
  FROM (SELECT ROW_NUMBER() OVER (ORDER BY SMSAuctionItemId DESC) AS row
              ,a.SMSAuctionItemId
              ,a.nopolisi
              ,b.MerkName
              ,c.SeriName
              ,d.SilinderName
              ,e.TipeName
              ,a.warna
              ,f.SubTipeName
          FROM SMS_AuctionItemView a
          LEFT JOIN MsMerk b ON a.MerkId=b.MerkId
          LEFT JOIN MsSeri c ON a.SeriId=c.SeriId
          LEFT JOIN MsSilinder d ON a.SilinderId=d.SilinderId
          LEFT JOIN MsTipe e ON a.TipeId=e.TipeId
          LEFT JOIN MsSubTipe f ON a.SubTipeId = f.SubTipeId 
         where CreateUserId= '8119'
           and a.CompanyId = 1
           and f.SubTipeId=15) x
 WHERE row > 0
   and row <= 15

并检索所有列,但当我删除它时,只给我行号列。

您可以选择下面不同表中的所有列

SELECT ROW_NUMBER() OVER (ORDER BY SMSAuctionItemId DESC) AS row
              ,a.*

              ,b.*
              ,c.*
              ,d.*
              ,e.*

              ,f.*
          FROM SMS_AuctionItemView a
          LEFT JOIN MsMerk b ON a.MerkId=b.MerkId
          LEFT JOIN MsSeri c ON a.SeriId=c.SeriId
          LEFT JOIN MsSilinder d ON a.SilinderId=d.SilinderId
          LEFT JOIN MsTipe e ON a.TipeId=e.TipeId
          LEFT JOIN MsSubTipe f ON a.SubTipeId = f.SubTipeId 
         where CreateUserId= '8119'
           and a.CompanyId = 1
           and f.SubTipeId=15

但当您将其作为子查询时,如果多个表的任何列名相同,则会抛出您在
MerkId
中已经得到的错误,因为该列已经存在于
SMS\u AuctionItemView和MsMerk
这两个表中。因此,您必须对多个表中存在的相同列名使用别名

请告诉我们您为什么需要删除列列表,因为我想不出任何合理的理由。你面临的错误或复杂性是什么?因为我需要所有的数据columns@mkRabbani如果删除所有列,则只显示行数列,以便于帮助您!你的代码正在运行。但是如果我想添加更多的参数,比如WHERE row>0和row@NelvanBalthazar,我已经说过,如果你想使用这个查询作为子查询,那么你必须在选择时使用别名。列名是指,我必须在选择权中一个接一个地提到所有的列?
SELECT ROW_NUMBER() OVER (ORDER BY SMSAuctionItemId DESC) AS row
              ,a.*

              ,b.*
              ,c.*
              ,d.*
              ,e.*

              ,f.*
          FROM SMS_AuctionItemView a
          LEFT JOIN MsMerk b ON a.MerkId=b.MerkId
          LEFT JOIN MsSeri c ON a.SeriId=c.SeriId
          LEFT JOIN MsSilinder d ON a.SilinderId=d.SilinderId
          LEFT JOIN MsTipe e ON a.TipeId=e.TipeId
          LEFT JOIN MsSubTipe f ON a.SubTipeId = f.SubTipeId 
         where CreateUserId= '8119'
           and a.CompanyId = 1
           and f.SubTipeId=15