Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.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查询中删除一些记录_Sql_Sql Server_Sql Server 2012 - Fatal编程技术网

从sql查询中删除一些记录

从sql查询中删除一些记录,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,我从不同的表中编写了以下查询: SELECT DISTINCT 0 AS IID, pd.IID AS PurchaseOrerDetailsId, i.[Description] AS ITEM, '' AS BatchNo, s.[Description] AS Unit, '' AS MfgDt, 0 AS QtyReceived, '' AS ExpiryDate,

我从不同的表中编写了以下查询:

SELECT DISTINCT 0 AS IID, 
       pd.IID AS PurchaseOrerDetailsId, 
       i.[Description] AS ITEM, 
       '' AS BatchNo, 
       s.[Description] AS Unit,
       '' AS MfgDt, 
       0 AS QtyReceived, 
       '' AS ExpiryDate, 
       '' AS PackSize, 
       0 AS QtyOrdered, 
       0 AS MRP, 
       0 AS PTR,
       0 AS PTS, 
       0 AS PurchaseRate, 
       0 AS CGST, 
       0 AS SGST, 
       0 AS IGST, 
       0 AS DiscPer, 
       0 AS DiscVal, 
       0 AS PurchaseValue, 
       0 AS CGSTAmt,
       0 AS SGSTAmt, 
       i.IID AS ItemId
FROM   PurchaseOrderDetails pd
LEFT JOIN StockDetails sd ON pd.ItemId = sd.ItemId
INNER JOIN Items i ON i.IID = pd.ItemId
INNER JOIN Strings s ON s.IID = i.Unit
WHERE pd.PurchaseOrderId = 1
我得到以下结果:

现在我想消除前两条记录(PurchaseOrderDetailSID为1和2)。 任何线索

谢谢
Partha

您可以在CTE中使用行号()作为[rn],然后您可以选择[rn]>2。

我怀疑还有更多。但根据您提供的信息:

 and pd.IID > 2
您不使用
StockDetails sd
。左路连接是一种浪费


问题不需要所有这些硬编码的值。

将“WHERE pd.PurchaseOrderId=1”更改为“WHERE pd.PurchaseOrderId=1和PurchaseOrderDetailsID>2”在您的
WHERE
中添加一个
not IN
子句,也许吧?这看起来有点过分了