加入查询产生0个结果?

时间:2018-08-28 15:35:43

标签: sql ms-access

对于这是如何工作的,我有点困惑,我想我有一个主意,但是我不确定。我有两个桌子:

ip6tables -t nat -A PREROUTING -d 2002:xxxx:9a21::1/128 -i sit6to4vip -p tcp --dport 443 -m statistic --mode random --probability .5 -j DNAT --to-destination 2002:xxxx:f6ea::1
ip6tables -t nat -A PREROUTING -d 2002:xxxx:9a21::1/128 -i sit6to4vip -p tcp --dport 443 -m statistic --mode random --probability .5 -j DNAT --to-destination 2002:xxxx:f6e9::1

ip6tables -t nat -A POSTROUTING -d 2002:xxxx:f6ea::1/128 -o sit6to4vip -p tcp --dport 443 -j SNAT --to-source 2002:xxxx:9a21::1
ip6tables -t nat -A POSTROUTING -d 2002:xxxx:f6e9::1/128 -o sit6to4vip -p tcp --dport 443 -j SNAT --to-source 2002:xxxx:9a21::1

Student表如下:

Student and Classes

“类”表如下所示:

StudentID Name FavoriteClass

我已经在Student.FavoriteClass和Classes.ClassName之间创建了一个关系。但是,对于Student表,StudentID是PK,ClassId字段是类的PK。

我猜测我无法加入这些表的原因是因为我试图加入不是键的字段。如果是这个原因,你们有建议解决这个问题吗?

我的查询如下:

ClassId ClassName Subject

注意:[FavoriteClass]。Access查询和多值控件需要值。

例如,如果我的学生桌有:

SELECT [Classes].[Subject] FROM Classes INNER JOIN Student ON  Student.[FavoriteClass].Value =  [Classes].[ClassName];

我的班级表有:

1 Mark ENG-101
2 Chris CS-103
3 Mary MAT-101

我想获取“学生”表的FavoriteClass与“班级”表的“班级名称”字段对齐的“班级”的“主题”字段。

1 个答案:

答案 0 :(得分:0)

请验证多值字段的类型确实是文本类型。我想这是一个数字(ClassId),的确更有意义。因此,放弃您的关系,并(如果愿意)在Student.FavoriteClassClasses.ClassId之间创建一个新的关系。

对于您的查询,请尝试以下操作:

SELECT [Student].[Name], [Classes].[Subject] 
FROM Classes 
INNER JOIN Student ON Student.[FavoriteClass].Value = [Classes].[ClassId];

有关更多信息,建议阅读this