我想知道是否有任何方法可以擺脫它創建的重複行信息,以便在一個表中有2個項目時填充結果中的空間,但在另一箇中只有1個。我嘗試了不同的連接和一組,並且都沒有工作。我想我需要某種嵌套的子查詢或某種限制或rownum = 1條件。感謝您提供的任何幫助。擺脫加入的SQL查詢中的重複項
我的代碼:
select distinct
Driver_Extra_Pay.Order_ID as 'Order',
Deduct_Code_ID as 'D/E Code',
Short_Desc as 'Pay Description',
Driver_Extra_Pay.Amount as 'Pay Amount',
Driver_Extra_Pay.Amount_D as 'Pay Date',
Other_Charge.Descr as 'Charge Description',
Other_Charge.Amount as 'Charge Amount',
Other_Charge.Amount_D as 'Charge Date'
from
Driver_Extra_Pay
inner join
Other_Charge on Other_Charge.Order_ID = Driver_Extra_Pay.Order_ID
where Driver_Extra_Pay.Amount_D between '03/29/2016' and '03/30/2016'
order by Driver_Extra_Pay.Order_ID
這是結果我得到。它是這樣寫的,用作比較工具,但是當它只有1時,它會給出雙「Lumper」條目。似乎它只是複製它來填充空白區域。
我想它看起來像這樣的輸出,而不是,但我不知道的編碼來做到這一點。
他們不重複。他們有不同的收費信息。 – Barmar
不,SQL不能像那樣工作。當其他行在這些列中具有相同的值時,它不會在某些行的列中「屏蔽」值。每一行都有自己的一組值。我們能否得到像返回的結果,是的,我們可以做到這一點。但是,執行該操作所需的語法很尷尬,並且在SQL約定面前蒼蠅。不要在SQL中執行它,在客戶端執行它。 – spencer7593
如果要隱藏某些列的重複項,請在處理結果的應用程序代碼中執行此操作。它可以檢查這些列是否與前一行相同,並保留爲空。 – Barmar