多个Inner联接不工作-sql中的ms access查询
我在获取FROM语句时遇到问题,因为多个内部联接正在工作 代码如下:多个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
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语句,所有操作都正常,但当我只运行第二次连接时,我又没有行了。这就是问题所在!谢谢!!