程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 查詢問題 急急急-查詢兩個表的數據,然後第一個表的數據存在相同時,則只顯示一行,其他的顯示為空

查詢問題 急急急-查詢兩個表的數據,然後第一個表的數據存在相同時,則只顯示一行,其他的顯示為空

編輯:編程綜合問答
查詢兩個表的數據,然後第一個表的數據存在相同時,則只顯示一行,其他的顯示為空

圖片說明
如上圖,第一個表的字段包含 內碼、編號、客戶、日期,第二個表包含出庫單等字段,現在查詢出來的數據,只要內碼相同,則對應的內碼、編號、客戶、日期都顯示為空,該如何寫SQL語句,原SQL語句如下

select t1.內碼,t1.編號,t1.客戶,t1.日期,t2.出庫單
from SEOrder t1 join icstockbill t2 on t1.FInterID=t2.FInterID

最佳回答:


danielinbiti 思路是可以的,但是結果不對把
既然人家內聯可以出所有結果, 表icstockbill和SEOrder都會有重復的內碼啊,稍微改下

select t2.出庫單,
case when t2.RN = 1 then t1.內碼 else '' end as 內碼,
case when t2.RN = 1 then t1.編號 else '' end as 編號,
case when t2.RN = 1 then t1.客戶 else '' end as 客戶,
case when t2.RN = 1 then t1.日期 else '' end as 日期
from
(select 出庫單, 內碼, ROW_NUMBER()OVER(PARTITION BY 內碼 ORDER BY 內碼) AS RN FROM icstockbill) t2
join
(select 內碼,編號,客戶,日期 FROM SEOrder) t1
on t2.FInterID=t1.FInterID

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved