我真的不确定这个标题是否是我想说的,但它是最接近我能来的。我想要做的是从查询中获取初始结果,并在INSERT语句中的嵌套Select语句中使用它们。这里是我的例子: 这是我最初的查询,它给了我我正在寻找一个正确的作品;在嵌套SELECT语句中使用SQL结果变量
SELECT Min(Inquirer.ID) as MinID, Max(Inquirer.ID) as MaxID,
Min(Inquirer.Program) as MinProg, Max(Inquirer.Program) as MaxProg,
COUNT(Inquirer.Name) AS NumOccurrences
FROM Inquirer
GROUP BY Inquirer.Name
HAVING (COUNT(*) = 2)
结果显示如下;
MinID MaxID MinProg MaxProg NumOccurrences
27 81 Pavilion Appleton 2
我想用MinID和MaxID值,我与一个嵌套的SELECT是这样的一个相应的插件检索;
Insert into Transfer(InquiryID_fk, ReferElsewhere, ReferMcLean, ReferExternal, ReferredFrom, TransferInquiryID_fk)
Values(SELECT Inquiry.ID from Inquiry
Where Inquiry.InquirerID_fk = MinID,'Yes',MaxProg,NULL,MinProg,
SELECT Inquiry.ID from Inquiry WHERE Inquiry.InquirerID_fk = MaxID)
这是真的它概括地说,不知道是否可以实现或如何完成它,我将不得不作出一个临时表事先并遍历,要得到的值? 任何帮助表示赞赏,感谢你在前进,
NickG
非常感谢您的建议,这项工作正如我所需要的。但是,有一件事令我困惑,看起来似乎有一半结果集向后给我MinProg和MaxProg,基本上MinProg应该是与MinID相关的程序,而MaxProg与MaxID相关联,但是当它显示MinProg时,程序与MaxID相关联,反之亦然,任何想法为什么这可能是?再次感谢您对我的初始问题的帮助 – 2012-08-02 14:11:57
这是基于您使用Min(询问者)的原始查询。程序)作为MinProg - 它不会以最低的ID返回程序,而是按字母顺序返回程序。让我编辑上面的... – podiluska 2012-08-02 14:14:53
请参阅上面的编辑答案 – podiluska 2012-08-02 14:20:32