2016-04-05 90 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

相關問題