我有两个表,一个是std Table和KeyTable。 我必须根据keytable的条件显示std表的值。 例如,如果用户选择ASIA,我必须在ASIA中创建国家/地区的SQL查询列表,并将此国家/地区值(例如:INDIA,SRILANKA,BANGLADESH)用作最终查询中的where子句。我试过建造它们。但我不确定语法
过滤掉ASIA值的第一个查询
strSQL1 = "SELECT keytable.[Lead Country] FROM keytable WHERE keytable.country='" & lstcountry & "';"
根据where子句
中的第一个查询显示值的第二个查询strSQL = "SELECT * FROM [Std Table] WHERE ([Std Table].Country IN (______));
我遗失的空白。
答案 0 :(得分:0)
您可以将两个查询合并为一个语句:
strSQL= "SELECT * " & _
"FROM [Std Table] " & _
"WHERE [Std Table].Country IN " & _
"(" & _
" SELECT s.[Lead Country] " & _
" FROM keytable AS s WHERE s.country = '" & lstcountry & "' " & _
")"
答案 1 :(得分:0)
我试试
strSQL1 = "SELECT keytable.[Lead Country] FROM keytable WHERE keytable.country='" & lstcountry & "'"
strSQL = "SELECT * FROM [Std Table] WHERE ([Std Table].Country IN (" & strSQL1 & "));"
SQL Server允许你这样做,我想ACCESS也支持这个。
请注意,我删除了;
中的strSQL1
!
您还可以提供逗号分隔值列表:
strSQL = "SELECT * FROM [Std Table] WHERE ([Std Table].Country IN ('DE','UK','JP'));"