วันนี้มีโอกาสต้องเขียน function สำหรับ get ข้อมูลหลาย ๆ table มารวมกันให้เหลือบรรทัดเดียว แต่พอข้อมูลมันมีเยอะเข้าเลยดูยาก ก็เลยอยากจะให้มันแยกบรรทัดด้วย กลับไปดูของเก่า ๆ อ้อ เคยทำไว้แล้ว ม้นต้องเชื่อมด้วย Char(10)+ Char(13) ทีนี้ output มันจะออกมาแบบนี้
1002999393 VISA 2,500.00,
2001029992 MAST 4,225.00,
1000229291 VISA 1,988.25
-- * ฟังก์ชั่น FormatNumber ให้ดูที่ http://www.novicksoftware.com/udfOfWeek/Vol1/T-SQL-UDF-Volume-1-Number-48-formatnumber.htm
-- ==========
Create Function GetMultiLineCreditCardInfo(@docno varchar(30))
Returns varchar(1000)
As
Begin
Declare
@field_Return varchar(1000),
@delimiter varchar(4)
SET @delimiter = ', ' + Char(10)+ Char(13)
Select @field_Return = Coalesce(@field_Return + @delimiter, '')
+ ( IsNull(CreditCardID, '') + ' ' + IsNull(CreditCardType, '') + ' ' + dbo.FormatNumber(NetAmount, '2', ',', 'zero') )
From CreditCard
Where RefDocument = @docno
Return @field_Return
End
ไม่มีความคิดเห็น:
แสดงความคิดเห็น