Sql server 2000 列中的行

Sql server 2000 列中的行,sql-server-2000,Sql Server 2000,我有这张桌子: Id Kind 1 MODEL 1 MOTOR 2 MODEL 2 MOTOR 3 MOTOR 4 MODEL 我想在表中插入: IdModel IdMotor 1 1 1 2 1 3 2 1 2 2 2 3 4 1 4 2 4 3 我知道如何使用光标,但它确实非常慢。我试过和工会合作,但今天似乎不是我最好的一天 我也知道这可以用pivot在SQL2005中

我有这张桌子:

Id Kind
1  MODEL
1  MOTOR
2  MODEL
2  MOTOR
3  MOTOR
4  MODEL
我想在表中插入:

IdModel IdMotor
1       1
1       2
1       3
2       1
2       2
2       3
4       1
4       2
4       3
我知道如何使用光标,但它确实非常慢。我试过和工会合作,但今天似乎不是我最好的一天

我也知道这可以用pivot在SQL2005中实现,但我必须用SQLServer2000来实现

有没有哪位Transact-SQL专家能够提供良好且快速的查询


提前谢谢

看起来这会起作用:

INSERT Table2
SELECT model.id, motor.id
FROM
    Table model,
    Table motor
WHERE
    model.Kind = 'MODEL'
    and motor.Kind = 'MOTOR'

我要创建的表不存在,因此最初只有一个表。是的,我想创建IdModel和IdMotor的所有可能组合。谢谢!正如我之前所说:我今天对部分心理技能有点失望,8-[Wow.+1。这个答案假设了与问题不同的模型,但显然是正确的。
INSERT INTO AnotherTable
SELECT  [IdModel]
        , [IdMotor]
FROM    (        
          SELECT  [IdModel] = ID
          FROM    ATable
          WHERE   Kind = 'MODEL'
        ) md
        CROSS APPLY
        (
          SELECT  [IdMotor] = ID
          FROM    ATable
          WHERE   Kind = 'MOTOR'
        ) mt