Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.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 Server列中删除相同的数据_Sql Server - Fatal编程技术网

Sql server 从SQL Server列中删除相同的数据

Sql server 从SQL Server列中删除相同的数据,sql-server,Sql Server,我想问一些关于我的问题: SELECT a.Parent_Barcode,a.Parent_ItemBOM, a.Child_ItemChildNo, b.WorkCenter, b.OperationNo, b.OperationDesc FROM @T_BOM a LEFT JOIN ROUTING b ON a.Parent_ItemBOM = b.itemno WHERE a.parent_itembom IN (SELECT itemno

我想问一些关于我的问题:

SELECT 
    a.Parent_Barcode,a.Parent_ItemBOM, a.Child_ItemChildNo,
    b.WorkCenter, b.OperationNo, b.OperationDesc 
FROM 
    @T_BOM a
LEFT JOIN
    ROUTING b ON a.Parent_ItemBOM = b.itemno
WHERE
    a.parent_itembom IN (SELECT itemno FROM routing)
ORDER BY 
    b.operationno
结果是:

|BARCODE1 |RK2/7350/7357-4.40-850/XX69/7303FFB  |R7350/7357-4.40-850                 |  8050|50.000000| COGPAD RCVS                   
|BARCODE1 |RK2/7350/7357-4.40-850/XX69/7303FFB  |FXX69/7303FFB-1245                  |  8050|50.000000| COGPAD RCVS                   
|BARCODE1 |P-ARRGY5704-9.3-850-RE5              |F3W/7303FFB-1250                    |  8060|60.000000| BUILDING RCVS                 
|BARCODE1 |P-ARRGY5704-9.3-850-RE5              |R7350/7357-1.40-850                 |  8060|60.000000| BUILDING RCVS                 
|BARCODE1 |P-ARRGY5704-9.3-850-RE5              |E1020                               |  8060|60.000000| BUILDING RCVS                 
|BARCODE1 |P-ARRGY5704-9.3-850-RE5              |RK2/7350/7357-4.40-850/XX69/7303FFB |  8060|60.000000| BUILDING RCVS                 
|BARCODE1 |SL-ARRGY5704-18.2X9.3X31X842+N       |P-ARRGY5704-9.3-850-RE5             |  8070|70.000000| CURING RCVS                   
|BARCODE1 |ARRGY5704-18.2X9.3X31X842+N#         |SL-ARRGY5704-18.2X9.3X31X842+N      |  8080|80.000000| CUTTING RCVS
|BARCODE1 |ARRGY5704-18.2X9.3X31X842+N#         |SL-ARRGY5704-18.2X9.3X31X842+N      |  8081|81.000000| SANDING                       
|BARCODE1 |ARRGY5704-18.2X9.3X31X842+N#         |SL-ARRGY5704-18.2X9.3X31X842+N      |  8082|82.000000| POC RCVS                      
|BARCODE1 |ARRGY5704-18.2X9.3X31X842+N#         |SL-ARRGY5704-18.2X9.3X31X842+N      |  8090|90.000000| INSPECTION RCVS

=======================================================================================

|BARCODE2 |RK2/7350/7357-4.40-850/XX69/7303FFB  |R7350/7357-4.40-850                 |  8050|50.000000| COGPAD RCVS                   
|BARCODE2 |RK2/7350/7357-4.40-850/XX69/7303FFB  |FXX69/7303FFB-1245                  |  8050|50.000000| COGPAD RCVS                   
|BARCODE2 |P-ARRGY5704-9.3-850-RE5              |F3W/7303FFB-1250                    |  8060|60.000000| BUILDING RCVS                 
|BARCODE2 |P-ARRGY5704-9.3-850-RE5              |R7350/7357-1.40-850                 |  8060|60.000000| BUILDING RCVS                 
|BARCODE2 |P-ARRGY5704-9.3-850-RE5              |E1020                               |  8060|60.000000| BUILDING RCVS                 
|BARCODE2 |P-ARRGY5704-9.3-850-RE5              |RK2/7350/7357-4.40-850/XX69/7303FFB |  8060|60.000000| BUILDING RCVS                 
|BARCODE2 |SL-ARRGY5704-18.2X9.3X31X842+N       |P-ARRGY5704-9.3-850-RE5             |  8070|70.000000| CURING RCVS                   
|BARCODE2 |ARRGY5704-18.2X9.3X31X842+N#         |SL-ARRGY5704-18.2X9.3X31X842+N      |  8080|80.000000| CUTTING RCVS
|BARCODE2 |ARRGY5704-18.2X9.3X31X842+N#         |SL-ARRGY5704-18.2X9.3X31X842+N      |  8081|81.000000| SANDING                       
|BARCODE2 |ARRGY5704-18.2X9.3X31X842+N#         |SL-ARRGY5704-18.2X9.3X31X842+N      |  8082|82.000000| POC RCVS                      
|BARCODE2 |ARRGY5704-18.2X9.3X31X842+N#         |SL-ARRGY5704-18.2X9.3X31X842+N      |  8090|90.000000| INSPECTION RCVS
在这个结果中,我有重复的“COGPAD RCV”和四个“BUILDING RCV”值。我只是想消除这一点,所以我只有一个“COGPAD RCV”和“BUILDING RCV”用于每个条形码

我的预期结果:

|BARCODE1 |RK2/7350/7357-4.40-850/XX69/7303FFB  |8050|50.000000| COGPAD RCVS                                 
|BARCODE1 |P-ARRGY5704-9.3-850-RE5              |8060|60.000000| BUILDING RCVS                              
|BARCODE1 |SL-ARRGY5704-18.2X9.3X31X842+N       |8070|70.000000| CURING RCVS                   
|BARCODE1 |ARRGY5704-18.2X9.3X31X842+N#         |8080|80.000000| CUTTING RCVS
|BARCODE1 |ARRGY5704-18.2X9.3X31X842+N#         |8081|81.000000| SANDING                       
|BARCODE1 |ARRGY5704-18.2X9.3X31X842+N#         |8082|82.000000| POC RCVS                      
|BARCODE1 |ARRGY5704-18.2X9.3X31X842+N#         |8090|90.000000| INSPECTION RCVS

=======================================================================================

|BARCODE2 |RK2/7350/7357-4.40-850/XX69/7303FFB  |8050|50.000000| COGPAD RCVS                          
|BARCODE2 |P-ARRGY5704-9.3-850-RE5              |8060|60.000000| BUILDING RCVS                              
|BARCODE2 |SL-ARRGY5704-18.2X9.3X31X842+N       |8070|70.000000| CURING RCVS                   
|BARCODE2 |ARRGY5704-18.2X9.3X31X842+N#         |8080|80.000000| CUTTING RCVS
|BARCODE2 |ARRGY5704-18.2X9.3X31X842+N#         |8081|81.000000| SANDING                       
|BARCODE2 |ARRGY5704-18.2X9.3X31X842+N#         |8082|82.000000| POC RCVS                      
|BARCODE2 |ARRGY5704-18.2X9.3X31X842+N#         |8090|90.000000| INSPECTION RCVS

我怎样才能消除相同的数据呢?

实际上,您的结果集有5列。当您查看数据时,您的每一行对于5列的组合都是唯一的

您只希望最后一列具有唯一性。您可以尝试下面的两个查询

SELECT max(a.Parent_ItemBOM)
    ,max(a.Child_ItemChildNo)
    ,b.WorkCenter
    ,b.OperationNo
    ,b.OperationDesc
FROM @T_BOM a
LEFT JOIN ROUTING b ON a.Parent_ItemBOM = b.itemno
GROUP BY b.WorkCenter
    ,b.OperationNo
    ,b.OperationDesc
WHERE a.parent_itembom IN (
        SELECT itemno
        FROM routing
        )
ORDER BY b.operationno

SELECT DISTINCT b.WorkCenter
    ,b.OperationNo
    ,b.OperationDesc
FROM @T_BOM a
LEFT JOIN ROUTING b ON a.Parent_ItemBOM = b.itemno
WHERE a.parent_itembom IN (
        SELECT itemno
        FROM routing
        )
ORDER BY b.operationno

实际上,结果集有5列。当您查看数据时,您的每一行对于5列的组合都是唯一的

您只希望最后一列具有唯一性。您可以尝试下面的两个查询

SELECT max(a.Parent_ItemBOM)
    ,max(a.Child_ItemChildNo)
    ,b.WorkCenter
    ,b.OperationNo
    ,b.OperationDesc
FROM @T_BOM a
LEFT JOIN ROUTING b ON a.Parent_ItemBOM = b.itemno
GROUP BY b.WorkCenter
    ,b.OperationNo
    ,b.OperationDesc
WHERE a.parent_itembom IN (
        SELECT itemno
        FROM routing
        )
ORDER BY b.operationno

SELECT DISTINCT b.WorkCenter
    ,b.OperationNo
    ,b.OperationDesc
FROM @T_BOM a
LEFT JOIN ROUTING b ON a.Parent_ItemBOM = b.itemno
WHERE a.parent_itembom IN (
        SELECT itemno
        FROM routing
        )
ORDER BY b.operationno
CTE将对您的情况有所帮助。通过WorkCenter、OperationNo和OperationDesc设置RowNumber组,获取RowNumber=1将提供预期结果


CTE将对您的情况有所帮助。按工作中心、OperationNo和OperationDesc设置RowNumber组,获取RowNumber=1将提供预期结果

之后的结果应该是什么样子?我们是否要将多行折叠成一行?如果是这样,在当前不同行具有不同值的情况下,应选择什么值?另外,您的查询有五列,但您当前的“结果”只显示了四列。之后的结果应该是什么样子?我们是否要将多行折叠成一行?如果是这样,在当前不同行具有不同值的情况下,应选择什么值?另外,您的查询有五列,但您当前的“结果”只显示了四列。我为同一项目添加另一个字段“条形码”如何?使用max仅显示1个条形码。我为同一项目添加另一个“条形码”字段如何?使用max仅显示1个条形码。非常感谢,它确实有效!!另一件事是,结果可以插入到表或@temp表中吗?非常感谢,它确实有效!!另一件事是,结果可以插入到表或@temp表中吗?