两个表SQL查询基于查询中的字段,同时从另一个表中提取

时间:2012-05-21 21:43:12

标签: sql powershell ms-access-2007

好吧这听起来有点奇怪,但这是我必须要处理的事情。

我有一个特殊的安装程序,它将使用powershell对访问2007数据库进行查询

第一个表是程序列表。表中的一列是prog_pre,表示程序在安装之前必须安装一些东西

pre_req表有一个名为prog_id的列,它是特定程序的唯一ID,需要先安装另一个程序。 它还有prog_pre列,它引用程序表中的唯一id。

我想要做的是当我预先形成像

这样的查询时
 Select * 
 from program_table 
 WHERE ID = '3'
作为barware的程序3有一个pre_req,所以我希望它也循环遍历pre_req表,获取预先需要的程序的ID,并将其添加到查询中。

有没有办法做到这一点,还是我只是简单地执行两个查询?

节目表

---------------------------------------------------------------
ID  prog_name       prog_version    prog_pre
1   Access          2007             No
2   Acrobat         2012 pro         No
3   barware         2012             Yes
4   Fooware         2012             No
5   foomaker        2012             No
----------------------------------------------------------------

pre_req表

----------------------------------------------------------------
id  prog_id     prog_pre
1   3           4
2   3           5
The desired results would be an array as follows
3   barware         2012             Yes
4   Fooware         2012             No
5   foomaker        2012             No

由于字段prog_pre为是,它还包括pre_Req表中列出的两个prog_pre程序ID

1 个答案:

答案 0 :(得分:0)

阅读X-Zero的评论后

  

Blockquote如果有最大级别数,您可以手动完成。否则,你会遇到程序代码。我已经看到提到Access不支持递归查询,这就是你想要的.- X-Zero

我做了一些进一步的研究,发现我想要的确实是一个递归查询。我还发现X-Zero是正确的。 Access不支持递归查询。

Is it possible to create a recursive query in Access?

感谢您的协助X-Zero