我有这张桌子:
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的SQL 2005中完成,但我必须使用SQL Server 2000来完成。
任何Transact-SQL大师都有一个很好的快速查询?
提前致谢!
答案 0 :(得分:3)
看起来这样可行:
INSERT Table2
SELECT model.id, motor.id
FROM
Table model,
Table motor
WHERE
model.Kind = 'MODEL'
and motor.Kind = 'MOTOR'
答案 1 :(得分:0)
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