CREATE TABLE [TB] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[ITEM] [int] NULL ,
[NOTE] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
CONSTRAINT [PK_TB] PRIMARY KEY  CLUSTERED 
(
[ID]
)  ON [PRIMARY] 
) ON [PRIMARY]
GO
INSERT INTO TB (ITEM, NOTE) SELECT 3,'XX'
INSERT INTO TB (ITEM, NOTE) SELECT 3,'XX'
INSERT INTO TB (ITEM, NOTE) SELECT 4,'XX'
INSERT INTO TB (ITEM, NOTE) SELECT 5,'XX'
INSERT INTO TB (ITEM, NOTE) SELECT 5,'XX'
INSERT INTO TB (ITEM, NOTE) SELECT 6,'XX'SELECT * FROM TB/*-----------------------
3 XX
3 XX
4 XX
5 XX
5 XX
6 XX
*/
SELECT
    ITEM=CASE WHEN ID=(
                          SELECT MIN(ID)
                          FROM TB
                          WHERE ITEM=A.ITEM
                      )
               THEN RTRIM(ITEM) ELSE '' END,
    NOTE
FROM TB AS A
ORDER BY ID/*
ITEM         NOTE
------------ --------------------
3            XX
             XX
4            XX
5            XX
             XX
6            XX

解决方案 »

  1.   

    还是不懂啊   HEROWANG   能帮我写出来?
      

  2.   

    对于重复的数据,用null填充就行了
      

  3.   

    兄弟 帮帮忙  我对sql不熟  帮忙写出来  我试试
      

  4.   

    帮帮忙拉 我对sql不是很熟  
    SELECT
        ITEM=CASE WHEN ID=(
                              SELECT MIN(ID)
                              FROM TB
                              WHERE ITEM=A.ITEM
                          )
                   THEN RTRIM(ITEM) ELSE '' END,
        NOTE
    FROM TB AS A
    ORDER BY ID没用过  今天第一次见
      

  5.   

    方法不止一种 我连一种都没学会   教教我吧   htl258