我有两张桌子,
tabSparePart
和
tabSparePartCategory
. 每个备件都属于一个备件类别。我需要属于特定类别的所有备件。但问题是,一个备件类别可能是另一个类别的“子类别”,它们相互引用(“主类别”在FK列中有“null”)。
假设我需要所有的备件
fiSparePartCategory=1
以及属于“子类别”的所有备件
category=1
如何编写返回所有备件的SQL查询,而不管子类别有多少级。希望你能理解我的要求。
下面是我的例子。如何使其动态化,使其在不考虑子类别数的情况下工作?
谢谢,蒂姆
http://www.bilder-hochladen.net/files/4709-lg-jpg.html
编辑
:以下是另一种静态方法,在只有一级子类别时有效:
SELECT SparePartName
FROM tabSparePart
WHERE (fiSparePartCategory IN
(SELECT idSparePartCategory
FROM tabSparePartCategory
WHERE (idSparePartCategory = 1) OR
(fiSparePartCategory = 1)))