Firebird从表a或b中选择数据

时间:2015-08-04 06:40:21

标签: firebird

我正在开发一个显示从Firebird数据库构建的HTML文档的项目。在单独的文件中,我有SQL查询。在这种情况下,如何从表a或b中获取数据?

例如:

Declare varID int = __docid__;

select fielda, fieldb AS fieldbv from
if(varID = 10) then tableA;
else tableB;

3 个答案:

答案 0 :(得分:1)

您可以将存储过程与参数varId一起使用。 在此过程中,从表A和B中获取值,检查参数并返回所需的结果。类似的东西:

if (:varId = 10) then
   Select fieldA from tableA where ... into :OutParam;
else
   Select fieldB from tableB where ...into :OutParam;
Suspend;

从您的项目中,只需使用参数varId调用此过程。

答案 1 :(得分:0)

试试这个:

select iif(varID = 10 ,fielda, fieldb) AS Value from  then tableA left 
join tableB on tableA.id=tableB.id 

答案 2 :(得分:0)

您可以使用EXECUTE STATEMENT来运行完全动态的查询。但如果你只有2个选择,那么Val的答案已经足够好了。