0
我有兩個表一個是保持資產和維持子資產其他:SQL服務器:排過
表1:assethdr
assetid
0000000002
0000000003
和
表2:assetdet
assetsubid assetid
0000000001 0000000002
0000000002 0000000002
0000000003 0000000002
0000000001 0000000003
0000000001 0000000109
0000000002 0000000109
0000000003 0000000109
0000000004 0000000109
0000000005 0000000109
我做了這個查詢:
WITH cte_assets
as
(SELECT
CASE WHEN ROW_NUMBER() OVER(PARTITION BY h.assetid ORDER BY f.assetsubid) = 1
THEN 'BA-'+LTRIM(RTRIM(h.CpnyId))+'-'+right(LTRIM(h.AssetId),5)+'-'+'0001' ELSE '' END as [Business Asset Number]
, 'BA'+
+'-'+RIGHT(LTRIM(RTRIM(ltrim(rtrim(f.cpnyid)))),3)
+'-'+
RIGHT(f.assetid,5)+'-'+RIGHT(f.assetsubid,4)as [Component Asset ID*]
FROM pssfaassets f
INNER JOIN PSSFAAssetsHdr h
ON f.AssetId=h.assetid
AND h.AssetId LIKE '%0000000002'
--GROUP BY h.cpnyid,h.AssetId,f.AssetSubId
)
SELECT * FROM cte_assets
WHERE [Business Asset Number]<>[Component Asset ID*]
ORDER BY [Component Asset ID*],[Business Asset Number]
,但我沒有得到正確的結果,這應該是:
Rownum Business Asset Number rownum2 Component Asset ID*
1 BA-613-00002-0001 1 BA-613-00002-0002
1 2 BA-613-00002-0003
2 BA-607-00109-001 1 BA-607-00109-0002
2 2 BA-607-00109-0003
2 3 BA-607-00109-0004
2 4 BA-607-00109-0005
CASE沒有結束 – Alsin
是的,它向右滾動,你會看到它 – Michelle
如果你把assertdr和assetdet記錄的cpnyid放在一起讓我們可以更好地查看數據,可能會更容易一些。 –