以下是引用lin_hailun在2012-9-7 22:45:00的发言:
很努力去看了,你的意思是不是,我根据 A B 和 A1 三个值,得到最后一张图的数据?
怎么感觉好绕哦。
select {表C}.编号, {表C}.名称编号1, {表C}.名称编号2, {表C}.表B编号
from (select * from (select * from {表C} inner join {表B} on {表C}.表B编号 = {表B}.编号) As tb1
inner join {表A} on tb1.表A编号1 = {表A}.编号) as tb2
inner join {表A} on tb2.表A编号2 = {表A}.编号
where tb2.名称编号1 = 'A1' and ({表A}.名称 = 'A' or {表A}.名称 = 'B')
就是这个意思,可能我表结构设计的有问题。
我原意是在表1中,任意两个名称(每个名称都有对应的子类N个),组成一组子类别中的1对N关系,
表2的目的是用来描述着这些子类别是由哪两个名称确定的关系。(换句话说,A1和B1的关系不足以描述是属于哪两个名称确定的)
好像有点绕。。。。