我想连接来自两个数据库的表中的数据。一个使用预定义值(itemId、itemName)归档,另一个由用户填充(itemId、itemName、userId)。属性 itemId 和 itemName 是相同的,我们从第一个表中选择所有数据,从第二个表中我们按 userId 选择数据并将这两个结果结合起来。
加入的数据应该被区分,因为 ids 是自动递增的并且可以是相同的(加倍)。我们想用这个数据填充下拉列表,例如数据源和字典(int 是 itemId,string 是 itemName)我们只能在 dropDownList 中有 valueFiled 和 valueText 但这两个表的 id 可以是相同的,所以我们不这样做`从哪个表中不知道是通过 id 选择的项目。
是否有任何优雅的方式来连接它,也许是使用临时表,我们总是在用户登录时将这两个表连接到临时表等...
谢谢你的回答
最佳答案
我认为您正在寻找工会。使用文字值来标识来源。
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 = ?;
关于c# - 使用来自两个数据库的自动增量ID连接来自两个表的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10737538/