从同一个表中的同一列中选择值

时间:2010-12-22 22:54:46

标签: sql-server

我有一个专栏Question_Id,我将根据SQL Server 2008中的不同列派生两组值。

Question_id和ID

  • 243 73
  • 244 73
  • 245 73
  • 429 192
  • 430 192
  • 431 192

我怎样才能得到这样的:(这只适用于临时表)

  • 1 243 429
  • 2 243 430
  • 3 243 431

提前多多感谢。 和Manish


感谢您的回复。 对于那些不清楚问题的人 - 我希望结果就像临时表一样。昨天我意识到,实际上它不可能从同一列中选择不同的值....我使用了两个临时表 SELECT QUESTION_ID WHERE ID = 73 INTO #TEMP1SELECT QUESTION_ID WHERE ID = 192 INTO #TEMP2。然后我内部加入两个表来使用数据进行一些INSERT操作......谢谢。

2 个答案:

答案 0 :(得分:1)

你做不到。 SQL数据库中没有自然排序,因此如果原始行中没有1,2,3个值,则无法配对,例如,243和429。

答案 1 :(得分:0)

如果您使用以下内容设置交叉联接:

SELECT t1.qid, t2.qid FROM table as t1, table as t2 WHERE t1.qid=243 AND t2.qid between 429 AND 431;

然后将其插入带有AI索引的新表中,您可以创建类似于描述的内容。