您可以从条件中指定表/数据库中选择数据吗?

时间:2016-12-02 03:32:07

标签: sql ado

我正在使用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选择)

2 个答案:

答案 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")

您可以使用基本上任何语言执行此操作。