编号    客户    型号 单位 部件 数量
AB001 康华电子 K240QVK-V20-F PCS FPA 3
AB001 康华电子 K240QVK-V20-F PCS LCD 2
AB001 康华电子 K240QVK-V20-F PCS TP 17
AB001 康华电子 K240QVK-V34-F PCS TP 1
AB001 康华电子 K240QVK-V36-F PCS FPA 2
AB001 康华电子 K240QVK-V36-F PCS LCD 4
AB002 康华电子 K240QVK-V36-F PCS TP 15
AB002 康华电子 K240QVK-V39-F PCS LCD 1
AB002 康华电子 K240QVK-V39-F PCS TP 5
AB002 康华电子 K240QVK-V42-F PCS LCD 1
AB002 康华电子 K240QVK-V42-F PCS TP 4
AB002 康华电子 K240QVK-V45-F PCS TP 3
-----------------------------------------------------------编号      客户       型号 单位 部件 数量
AB001 康华电子 K240QVK-V20-F PCS FPA 3
PCS LCD 2
PCS TP 17
K240QVK-V34-F PCS TP 1
K240QVK-V36-F PCS FPA 2
PCS LCD 4
AB002 康华电子 K240QVK-V36-F PCS TP 15
K240QVK-V39-F PCS LCD 1
PCS TP 5
K240QVK-V42-F PCS LCD 1
PCS TP 4
K240QVK-V45-F PCS TP 3能否用查询语句实现,请指教

解决方案 »

  1.   

    编号      客户         型号          单位    部件    数量
    AB001 康华电子 K240QVK-V20-F PCS     FPA     3
                                    PCS     LCD      2
                                    PCS     TP      17
                K240QVK-V34-F       PCS     TP      1
                      K240QVK-V36-F PCS     FPA     2
                                    PCS     LCD     4
    AB002 康华电子 K240QVK-V36-F PCS      TP    15
               K240QVK-V39-F        PCS      LCD 1
                                    PCS      TP 5
                K240QVK-V42-F       PCS     LCD 1
                                    PCS     TP      4
                      K240QVK-V45-F PCS     TP     3
      

  2.   

    SQL可以弄,但最好在报表工具里弄..
      

  3.   


    create table #
    (
     c1 varchar(10)
    ,c2 varchar(10)
    )
    insert # select 'f1','1' union all select 'f1','2' union all select 'f2','1' union all select 'f2','2'
    insert # select 'f1','3' union all select 'f1','4' union all select 'f2','5' union all select 'f2','6'
    select case when exists (select 1 from # where c1=s.c1 and c2<s.c2) then '' else c1 end as newc1,c2 from # s order by c1,c2Go
      

  4.   

    ---------------------------------
    --  Author: liangCK 小梁
    ---------------------------------
     
    --> 生成测试数据: @T
    DECLARE @T TABLE (编号 VARCHAR(5),客户 VARCHAR(8),型号 VARCHAR(13),单位 VARCHAR(3),部件 VARCHAR(3),数量 INT)
    INSERT INTO @T
    SELECT 'AB001','康华电子','K240QVK-V20-F','PCS','FPA',3 UNION ALL
    SELECT 'AB001','康华电子','K240QVK-V20-F','PCS','LCD',2 UNION ALL
    SELECT 'AB001','康华电子','K240QVK-V20-F','PCS','TP',17 UNION ALL
    SELECT 'AB001','康华电子','K240QVK-V34-F','PCS','TP',1 UNION ALL
    SELECT 'AB001','康华电子','K240QVK-V36-F','PCS','FPA',2 UNION ALL
    SELECT 'AB001','康华电子','K240QVK-V36-F','PCS','LCD',4 UNION ALL
    SELECT 'AB002','康华电子','K240QVK-V36-F','PCS','TP',15 UNION ALL
    SELECT 'AB002','康华电子','K240QVK-V39-F','PCS','LCD',1 UNION ALL
    SELECT 'AB002','康华电子','K240QVK-V39-F','PCS','TP',5 UNION ALL
    SELECT 'AB002','康华电子','K240QVK-V42-F','PCS','LCD',1 UNION ALL
    SELECT 'AB002','康华电子','K240QVK-V42-F','PCS','TP',4 UNION ALL
    SELECT 'AB002','康华电子','K240QVK-V45-F','PCS','TP',3--SQL查询如下:SELECT 
        编号=CASE WHEN 编号_rid=1 THEN 编号 ELSE '' END,
        客户=CASE WHEN 客户_rid=1 THEN 客户 ELSE '' END,
        型号=CASE WHEN 型号_rid=1 THEN 型号 ELSE '' END,
        单位,部件,数量
    FROM (
        SELECT
            编号,客户,型号,单位,部件,数量,
            编号_rid=ROW_NUMBER() OVER(PARTITION BY 编号 ORDER BY 编号),
            客户_rid=ROW_NUMBER() OVER(PARTITION BY 编号,客户 ORDER BY 编号),
            型号_rid=ROW_NUMBER() OVER(PARTITION BY 编号,客户,型号 ORDER BY 编号),
            编号 AS flag
        FROM @T
    ) AS A
    ORDER BY flag/*
    编号    客户       型号            单位   部件   数量
    ----- -------- ------------- ---- ---- -----------
    AB001 康华电子     K240QVK-V20-F PCS  FPA  3
                                 PCS  LCD  2
                                 PCS  TP   17
                   K240QVK-V34-F PCS  TP   1
                   K240QVK-V36-F PCS  FPA  2
                                 PCS  LCD  4
    AB002 康华电子     K240QVK-V36-F PCS  TP   15
                   K240QVK-V39-F PCS  LCD  1
                                 PCS  TP   5
                   K240QVK-V42-F PCS  LCD  1
                                 PCS  TP   4
                   K240QVK-V45-F PCS  TP   3(12 行受影响)
    */