2

我想连接来自两个数据库的表中的数据。一个用预定义的值(itemId、itemName)归档,另一个由用户填写(itemId、itemName、userId)。属性 itemId 和 itemName 相同,从第一个表我们选择所有数据,从第二个我们通过 userId 选择数据并将这两个结果结合起来。

应该区分加入的数据,因为 id 是自动增量的,并且可能相同(加倍)。我们想用这些数据填充下拉列表,例如使用数据源和字典(int 是 itemId,字符串是 itemName),我们只能在 dropDownList 中有 valueFiled 和 valueText,但是这两个表的 id 可能是相同的,我们不要从 wich 表中知道是由 id 选择的项目。

有没有什么优雅的方法来连接这个,也许是我们总是在用户登录时将这两个表加入临时表等的临时表......

谢谢您的回答

4

1 回答 1

1

我想你正在寻找一个工会。使用文字值来标识源。

select 'predefined' as source, itemid, itemname
  from predefined_values_table
union all
select 'user', itemid, itemname
  from user_supplied_values_table
  where userid = ?;

如果您只能容纳两列,则可以使用类似的东西。但是您必须撤消字符串连接才能获得 id 号。

select 'p:' || itemid, itemname
  from predefined_values_table
union all
select 'u:' || itemid, itemname
  from user_supplied_values_table
  where userid = ?;
于 2012-05-24T12:46:52.877 回答