我正在开发一个显示从Firebird数据库构建的HTML文档的项目。在单独的文件中,我有SQL查询。在这种情况下,如何从表a或b中获取数据?
例如:
Declare varID int = __docid__;
select fielda, fieldb AS fieldbv from
if(varID = 10) then tableA;
else tableB;
答案 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的答案已经足够好了。