多个Inner联接不工作-sql中的ms access查询

多个Inner联接不工作-sql中的ms access查询,sql,ms-access,Sql,Ms Access,我在获取FROM语句时遇到问题,因为多个内部联接正在工作 代码如下: SELECT tblPatientHistoryBaseline.LastName, tblPatientHistoryBaseline.FirstName, tblQuestionnaires.CR, tblFollowUpQs.AdditionalHealthProblems, Switch( tblFollowUpQs.AdditionalHealthProblems LIKE '*[?]*', 0, tblFollow

我在获取FROM语句时遇到问题,因为多个内部联接正在工作

代码如下:

SELECT tblPatientHistoryBaseline.LastName,
tblPatientHistoryBaseline.FirstName,
tblQuestionnaires.CR,
tblFollowUpQs.AdditionalHealthProblems,
Switch( tblFollowUpQs.AdditionalHealthProblems LIKE '*[?]*', 0, tblFollowUpQs.AdditionalHealthProblems NOT LIKE '*[?]*', 1),
tblFollowUpQs.Visit,
IIf(tblFollowUpQs.AdditionalHealthProblems Like "*IBS-A*" OR tblFollowUpQs.AdditionalHealthProblems Like "*IBS - A*",1,0),
IIf(tblFollowUpQs.AdditionalHealthProblems Like "*IBS-C*" OR tblFollowUpQs.AdditionalHealthProblems Like "*IBS - C*",1,0),
IIf(tblFollowUpQs.AdditionalHealthProblems Like "*IBS-D*" OR tblFollowUpQs.AdditionalHealthProblems Like "*IBS - D*",1,0),
IIf(tblFollowUpQs.AdditionalHealthProblems Like "*IBS-Unknown*" OR tblFollowUpQs.AdditionalHealthProblems Like "*IBS - Unknown*",1,0),

tblQuestionnaires.WetClothesChildDEQ, 
tblQuestionnaires.WetSelfAtNightChildDEQ, 
tblQuestionnaires.NoDailyBMChildDEQ, 
tblQuestionnaires.PushBMChildDEQ, 
tblQuestionnaires.UrinateOnceTwiceDailyChildDEQ, 
tblQuestionnaires.HoldByCrossingSquattingChildDEQ, 
tblQuestionnaires.VoidCouldNotWaitChildDEQ, 
tblQuestionnaires.HadToPushVoidChildDEQ, 
tblQuestionnaires.VoidingHurtChildDEQ, 
tblQuestionnaires.WetClothesMonthDEQ, 
tblQuestionnaires.WetSelfAtNightMonthDEQ, 
tblQuestionnaires.NoDailyBMMonthDEQ, 
tblQuestionnaires.PushBMMonthDEQ, 
tblQuestionnaires.UrinateOnceTwiceDailyMonthDEQ, 
tblQuestionnaires.HoldByCrossingSquattingMonthDEQ, 
tblQuestionnaires.VoidCouldNotWaitMonthDEQ, 
tblQuestionnaires.VoidingHurtMonthDEQ, 
tblQuestionnaires.HadToPushVoidMonthDEQ,
tblQuestionnaires.DEQCompleted

FROM (tblQuestionnaires 
  INNER JOIN tblPatientHistoryBaseline ON (tblPatientHistoryBaseline.CR = tblQuestionnaires.CR) AND (tblPatientHistoryBaseline.Visit = tblQuestionnaires.Visit)) 
  INNER JOIN tblFollowUpQs ON (tblQuestionnaires.CR = tblFollowUpQs.CR) AND (tblQuestionnaires.Visit = tblFollowUpQs.Visit)

WHERE (((tblFollowUpQs.AdditionalHealthProblems) Like '*IBS*') AND (tblQuestionnaires,DEQCompleted > 0);
我认为我的发言有问题。 我已经检查了代码的所有其他部分,它们似乎是独立工作的,但当我将它们组合在一起时就不行了。 我的查询根本没有填充


谢谢

如果删除
WHERE
子句,查询是否返回任何行?使用这个简单的查询可以得到任何行吗<代码>从(TBL问卷内部连接tblPatientHistoryBaseline ON(tblPatientHistoryBaseline.CR=TBL问卷.CR)和(tblPatientHistoryBaseline.Visit=TBL问卷.Visit=TBL问卷.Visit)上的内部连接tblFollowUpQs和(TBL问卷.VISISIT=tblFollowUpQs.VISIST)中选择*可能是
tblFollowUpQs.Visit!=TBL调查问卷。访问
tblFollowUpQs.CR=TBL调查问卷.CR
?数据中的这种情况下,此查询将返回0行。@HansUp我无法从这个更简单的查询中得到任何信息。。。谢谢你的回复!您的联接请求基于
CR
Visit
匹配的行。由于查询不返回任何行,这意味着(至少)两个联接中的一个联接中不存在匹配项。您需要弄清楚匹配在哪里出现故障,以及是否可以在那里使用不同的联接条件来获得所需的连接。@HansUp谢谢!我只在第一次连接时运行FROM语句,所有操作都正常,但当我只运行第二次连接时,我又没有行了。这就是问题所在!谢谢!!