Tôi có một bảng cơ sở dữ liệu với các loại dữ liệu sau đây dữ liệutruy vấn SQL để lấy dòng duy nhất của dữ liệu với giá trị mong muốn cho các cột
S_Acc_RowID BU_Customer_Segment PBU
1111-00 PSG SMB -1
1111-00 SMB -1
1111-00 EB Seg 1
1111-01 PSG SMB 1
1111-01 SMB -1
1111-01 EB data -1
1111-02 PSG Seg -1
1111-02 Unattended -1
1111-02 Channels -1
---------- ------ như 7 triệu hàng
bây giờ tôi muốn trích xuất hàng duy nhất cho mỗi ID Acc nơi điều kiện
1) if the **Acc ID** is having 'EB --' in **CustSeg** then select that **CustSeg** value
2) if **Acc Id** is not having any 'EB -- ' in CustSeg then select **CustSeg** where **PBU** = 1
3) if the both above failed take any one value of the **CustSeg**
và các dữ liệu cuối tôi muốn nên giống như
S_Acc_RowID BU_Customer_Segment
1111-00 EB seg
1111-01 EB Data
1111-02 (any one of three[PSG seg/ UNattended/channels])
Tôi đang sử dụng các truy vấn sau đây
select
distinct(A.[S_Acc_RowID]) as [Account_RowID],
[EB Customer Segment] =
case
when LEFT(A.[BU_Customer_Segment],2) = 'EB' then A.[BU_Customer_Segment]
when LEFT(A.[BU_Customer_Segment],2) != 'EB' then
(select B.[BU_Customer_Segment] from
dbo.[SiebelAccount Extract] B
where A.[S_Acc_RowID]=B.[S_Acc_RowID]
and [PBU] = 1)
else A.[BU_Customer_Segment]
end,
A.[S_Acc_AMID2#] as [AMID Level 2(Acc)],
A.[S_Acc_Login_P] as [Sales Team(Acc)],
A.[S_Acc_Org_P] as [Country_det],
A.[Customer AMID Level 2 Name(ACC)]
from dbo.[SiebelAccount Extract] A
Nhưng nó được trả lại dữ liệu như thế này
S_Acc_RowID BU_Customer_Segment
1111-00 EB seg
1111-01 PSG SMB
1111-01 EB Data
1111-02 null
Tôi không muốn hiển thị hai hàng cho ID 1111-01 .. Tôi chỉ muốn một hàng có EB
hãy giúp tôi với điều này ..
Thanks in advance ..
Chúc mừng,
Harish
+1 SQL Server cư xử gần như giống nhau. Tôi có một truy vấn gần như giống hệt nhau nhưng bạn đã đánh bại tôi một phút :). –
Xin chào, Cảm ơn bạn đã trả lời. Nhưng tôi muốn kết quả cho 1111-01 như 'EB%', không phải là PSG một .. Và tôi cũng có 7 triệu hàng trong bảng của tôi, vì vậy tôi đang nghĩ để có một truy vấn đơn giản để thực hiện nó nhanh chóng .. – harry
Cảm ơn Lieven =) – mcha