表A
标题  类型
经济型  93
无糖型  93
            ...后面还有很多
8寸     94
10寸    94
            ...后面还有很多=============== 需要得到1对多
经济型 8寸
经济型 10寸
无糖型 8寸
无糖型 10寸
            ...对应后面的
 

解决方案 »

  1.   


    IF OBJECT_ID('T') IS NOT NULL DROP TABLE T
    GO
    CREATE TABLE T(
    TITLE NVARCHAR(50),
    [TYPE] INT
    )GOINSERT INTO T
    SELECT '经济型',93 UNION ALL
    SELECT '无糖型',93 UNION ALL
    SELECT '8寸',94 UNION ALL
    SELECT '10寸', 94  GO
    SELECT T1.TITLE,T.TITLE FROM T T1 CROSS JOIN T 
    WHERE T1.[TYPE]+1=T.[TYPE]
    ORDER BY T1.TITLE DESC
      

  2.   

    select distinct x,y from
    (
    select (case when a.类型<b.类型 then a.标题 else b.标题 end)as x,(case when a.类型<b.类型 then b.标题 else a.标题 end) as y 
    from 表A a
    full join 表A b
     on  b.类型!=a.类型
    )k结果:
    经济型 10寸
    经济型 8寸
    无糖型 10寸
    无糖型 8寸
      

  3.   

    呵呵,又学了一个 cross join 
      

  4.   


    SELECT T1.TITLE,T.TITLE FROM T T1 CROSS JOIN T 
    WHERE T1.[TYPE]+1=T.[TYPE]
    --看了语句才明白你是什么意思