我正在使用ADO从数据库查询东西(excel文件,accdb,mdb ...) 现在令我困惑的是:是否有可能在SQL中选择条件设置的表/ DB? 通常:
SELECT Field1 FROM table1
我的期望:
if A=2 then SELECT F1 FROM table1 else SELECT F1 from table2
或者像这样:
SELECT F1 from switch(A=2, table1, true, Table2)
我可以通过从条件创建SQL字符串在VB中执行此操作,但我不知道是否有任何本机SQL语句可以执行此操作? (切换表/ ExternalDB选择)
答案 0 :(得分:0)
您最容易在动态SQL中执行此操作。也就是说,构造您想要的查询。
否则,你可以这样做:
SELECT F1
FROM table1
WHERE "A" = 2
UNION ALL
SELECT F1
FROM table2
WHERE "A" <> 2;
也就是说,UNION ALL
结合了两种可能性。 "A"
表示A
是变量的事实。确切的语法取决于数据库和访问机制。
答案 1 :(得分:0)
如果您正在使用VB,那么:
sql = "select f1 from " & if(A=2,"table1", "table2")
您可以使用基本上任何语言执行此操作。