来自 table a 或 b 的 Firebird select 数据
Firebird select data from table a or b
我正在开展一个项目,该项目显示 HTML 从 Firebird 数据库构建的文档。在单独的文件中,我有 SQL 个查询。在这种情况下,如何从 table a 或 b 获取数据?
例如:
Declare varID int = __docid__;
select fielda, fieldb AS fieldbv from
if(varID = 10) then tableA;
else tableB;
您可以使用带参数的存储过程varId
。
在此过程中,从 table A 和 B 获取值,检查参数和 return 所需结果。类似于:
if (:varId = 10) then
Select fieldA from tableA where ... into :OutParam;
else
Select fieldB from tableB where ...into :OutParam;
Suspend;
从您的项目中使用参数 varId
调用此过程即可。
试试这个:
select iif(varID = 10 ,fielda, fieldb) AS Value from then tableA left
join tableB on tableA.id=tableB.id
您可以使用 EXECUTE STATEMENT
到 运行 完全动态查询。但是如果你只有2个选择,Val的答案就足够了。
我正在开展一个项目,该项目显示 HTML 从 Firebird 数据库构建的文档。在单独的文件中,我有 SQL 个查询。在这种情况下,如何从 table a 或 b 获取数据?
例如:
Declare varID int = __docid__;
select fielda, fieldb AS fieldbv from
if(varID = 10) then tableA;
else tableB;
您可以使用带参数的存储过程varId
。
在此过程中,从 table A 和 B 获取值,检查参数和 return 所需结果。类似于:
if (:varId = 10) then
Select fieldA from tableA where ... into :OutParam;
else
Select fieldB from tableB where ...into :OutParam;
Suspend;
从您的项目中使用参数 varId
调用此过程即可。
试试这个:
select iif(varID = 10 ,fielda, fieldb) AS Value from then tableA left
join tableB on tableA.id=tableB.id
您可以使用 EXECUTE STATEMENT
到 运行 完全动态查询。但是如果你只有2个选择,Val的答案就足够了。