一用戶對繳款日報中的票據號使用情況提出要求
我們經過分析發現
如果通過編程來實現
假設知道已用票據號為
Select Rownum + (
From Dual
Connect By Rownum <=
Minus
Select Column_Value Txt From Table(Cast(Zltools
求出的結果是三條記錄
其中用到一個技巧就是用Connect by Rownum來產生按順序增長的記錄集
求轉換為一行顯示的已用票據段的SQL如下
With TEST As(
Select Column_Value 編號 From Table(Cast(Zltools
)
Select Substr(Max(LPAD(Length(分段)
From (
Select Sys_Connect_By_Path(分段
From (
Select Rownum As 行號
From (
Select Rownum As 行號
From (
Select 編號 From TEST
Minus
Select 編號+
) A
(Select Rownum As 行號
Select 編號+
Minus
Select 編號 From TEST)
) B
Where A
Start With 行號 =
Connect By (行號
查詢結果
其中用到以下技巧
如是Oracle
With TEST As(
Select Column_Value 編號 From Table(Cast(Zltools
)
Select Wmsys
From (
Select Rownum As 行號
From (
Select Rownum As 行號
From (
Select 編號 From TEST
Minus
Select 編號+
) A
(Select Rownum As 行號
Select 編號+
Minus
Select 編號 From TEST)
) B
Where A
From:http://tw.wingwit.com/Article/program/Oracle/201311/17815.html