IIF语句MS ACCESS VBA SQL
我有三张桌子 ConnectivityFile,其中我有一些属性的ID CHAINDD我有酒店代码,它们可以在相同的酒店重复 导出我想要将所有酒店代码和它们的ID连接到前面的表中的位置 我可以通过下面的查询实现这一点IIF语句MS ACCESS VBA SQL,sql,vba,ms-access,iif,Sql,Vba,Ms Access,Iif,我有三张桌子 ConnectivityFile,其中我有一些属性的ID CHAINDD我有酒店代码,它们可以在相同的酒店重复 导出我想要将所有酒店代码和它们的ID连接到前面的表中的位置 我可以通过下面的查询实现这一点 query2 = "SELECT ConnectivityFile.ID as [Hotel ID], ConnectivityFile.HotelCode FROM ConnectivityFile INNER JOIN (SELECT DISTINCT CHAINDD.H
query2 = "SELECT ConnectivityFile.ID as [Hotel ID], ConnectivityFile.HotelCode
FROM ConnectivityFile
INNER JOIN (SELECT DISTINCT CHAINDD.HOTELCODE as [Hotel Code] from CHAINDD) as T
ON ConnectivityFile.HotelCode = T.[Hotel Code]"
DoCmd.RunSQL "INSERT INTO Export " & query2
现在我面临的问题是,假设CHAINEDD表中的酒店代码不在ConnectivityFile表中。我想指出的是,它不像导出表上的ID那样连接
如何才能做到这一点?当我做了一些尝试和错误却没有成功时,我知道有IIF声明。你把IIf声明放在哪里
非常感谢您的帮助和时间只要您的查询能够正常运行,IIF就会这样运行: query2=选择IIFISNULLT.HOTELCODE,未连接,ConnectivityFile.ID为 [酒店ID],康涅狄格州文件。酒店代码 从康涅狄格文件 左连接从CHAINDD作为T选择不同的CHAINDD.HOTELCODE作为[酒店代码] ON ConnectivityFile.HotelCode=T[酒店代码] 基本上,如果代码在那里,就使用它,否则就放一个未连接的字符串
请注意,导出中的hotel code字段必须能够处理非唯一数据,即:不是主键。我看到您使用的是内部联接。您熟悉外部联接吗?Not Connected是字符串类型,因此如果Export的[Hotel ID]是整数类型,则会引发异常。请向我们显示数据库架构、示例数据、当前和预期输出。请阅读,这里是学习如何提高问题质量和获得更好答案的好地方。我同意@RuudHelderman的观点。你需要一个外部连接。@RuudHelderman,谢谢你,我需要一个外部连接,就像你建议的那样。我没看见谢谢