2016-04-05 89 views
1

我有2个表itemmemo。在item,itemId是PK和itid是FK。在memomemID是PK。删除视图中的重复行(SQL Server 2014 management studio)

我创建了一个观点:

SELECT  
    dbo.memo.memID, dbo.memo.fullname, dbo.memo.company, 
    dbo.memo.department, dbo.memo.MRnum, dbo.memo.date, 
    dbo.memo.returndate, dbo.memo.remarks, 
    dbo.memo.issuedby, dbo.memo.picture, dbo.item.itemID AS Expr1, 
    dbo.item.Itemnumber, dbo.item.description, dbo.item.qty,  
    dbo.item.unitofmeasure, dbo.item.itid 
FROM   
    dbo.memo 
INNER JOIN 
    dbo.item ON dbo.memo.memID = dbo.item.itid 
WHERE 
    (dbo.memo.department = N'tsd') 

和输出是这

this is the output

我只想全名,公司,部门,MRnum,日期,备注1个输出,issuedby每多行项目

enter image description here

希望你明白。谢谢

+2

SELECT DISTINCT ...但内蒙古重复通常JOIN意味着你的数据不是归 – Mihai

+0

你能告诉我们您预期的输出?听起来你只想在一行上显示全名,公司等,并为剩余行删除 – Squirrel

+0

@Squirrel,项目中有多个数据绑定到备忘录,我想输出是这样的,1个名字有多个项目。 – mhitzsuiko

回答

0

您可以在查询中使用DISTINCT

见下

SELECT DISTINCT  dbo.memo.memID, dbo.memo.fullname, dbo.memo.company, dbo.memo.department, dbo.memo.MRnum, dbo.memo.date, dbo.memo.returndate, dbo.memo.remarks, dbo.memo.issuedby, dbo.memo.picture, dbo.item.itemID AS Expr1, dbo.item.Itemnumber, dbo.item.description, dbo.item.qty, dbo.item.unitofmeasure,      dbo.item.itid 
FROM dbo.memo 
    INNER JOIN dbo.item ON dbo.memo.memID = dbo.item.itid 
WHERE  (dbo.memo.department = N'tsd') 
0

我只是想,在全名,公司,部门,MRnum, 日期,备注,issuedby与项目的多行

你可以1个输出请执行此操作,在所需列上使用group by并采取top 1

SELECT TOP 1 
     dbo.memo.fullname , 
     dbo.memo.company , 
     dbo.memo.department , 
     dbo.memo.MRnum , 
     dbo.memo.date , 
     dbo.memo.remarks , 
     dbo.memo.issuedby 
FROM dbo.memo 
INNER JOIN dbo.item 
     ON dbo.memo.memID = dbo.item.itid 
WHERE (dbo.memo.department = N'tsd') 
GROUP BY dbo.memo.fullname , 
     dbo.memo.company , 
     dbo.memo.department , 
     dbo.memo.MRnum , 
     dbo.memo.date , 
     dbo.memo.remarks , 
     dbo.memo.issuedby 
0

如果您是某些您也可以使用TOP,如下所示,您将获得所有重复记录。

SELECT TOP 1 dbo.memo.memID, dbo.memo.fullname, dbo.memo.company, dbo.memo.department, dbo.memo.MRnum, dbo.memo.date, dbo.memo.returndate, dbo.memo.remarks, dbo.memo.issuedby, dbo.memo.picture, dbo.item.itemID AS Expr1, dbo.item.Itemnumber, dbo.item.description, dbo.item.qty, dbo.item.unitofmeasure,      dbo.item.itid 
FROM dbo.memo 
    INNER JOIN dbo.item ON dbo.memo.memID = dbo.item.itid 
WHERE  (dbo.memo.department = N'tsd') 
+0

我想输出是这样的,'全名','公司','部门','MRnum','日期',多个'itemnumber','描述',数量',单位',' – mhitzsuiko

相关问题