Lập trình Excel với Sql server

Liên hệ QC

chipiu3001

Thành viên hoạt động
Tham gia
22/8/15
Bài viết
105
Được thích
15
Chào anh chị

Nhờ anh chị giúp em chuỗi Select với yêu cầu như bên dưới ( Ado Lấy dữ liệu Sql server)

Table SQL sever ( Dbo.kho)

1547542501282.png

Kết quả truy vấn với câu lệnh select như bên dưới ( Sum(sl) theo mã và kho)

1547542558967.png

Em cảm ơn nhiều ạ.
 
Mã:
SELECT ma_sp,SUM(IIF(ma_kho = 'kho A',SL,0)) AS [kho a],
    SUM(IIF(ma_kho = 'kho b',SL,0)) AS [kho b],
    SUM(IIF(ma_kho = 'kho c',SL,0)) AS [kho c]
    FROM dbo.kho
    GROUP BY ma_sp

hoặc

Mã:
SELECT * FROM dbo.kho
    PIVOT (SUM(SL) FOR ma_kho IN ([kho a],[kho b],[kho c])) p
 
Mã:
SELECT ma_sp,SUM(IIF(ma_kho = 'kho A',SL,0)) AS [kho a],
    SUM(IIF(ma_kho = 'kho b',SL,0)) AS [kho b],
    SUM(IIF(ma_kho = 'kho c',SL,0)) AS [kho c]
    FROM dbo.kho
    GROUP BY ma_sp


hoặc

Mã:
SELECT * FROM dbo.kho
    PIVOT (SUM(SL) FOR ma_kho IN ([kho a],[kho b],[kho c])) p


1/ Mình sử dụng chuỗi này. Chạy báo lỗi ''......Incorrect syntax near '='.
2/ Mình sử dụng chuỗi này thì nó chỉ chuyển dòng thành cột, nhưng ý mình chuyển dòng thành cột và lấy tên mã hàng duy nhất, số lượng thì cộng lại nếu cùng kho.


Lưu ý. Bảng trong SQL server mình có nhiều cột, nhưng mình sử dụng những cột và gộp dữ liệu nhưng minh họa hình ảnh ban đầu

Mình cảm ơn bạn đã giúp đỡ.
 
Lần chỉnh sửa cuối:
Cảm ơn bạn nhiều. Mình đã tìm hiểu cách dùng Pivot và đã làm được theo ý mình

sqlstr = "SELECT ma,[KHO_A],[KHO_B],[KHO_C] FROM (select ma,kho,SL from dbo.KHO)" & _
"as bangnguon PIVOT (SUM(SL) FOR KHO IN ([KHO_A],[KHO_B],[KHO_C]) as bangchuyen"
 
Web KT
Back
Top Bottom