【发布时间】:2012-01-26 07:44:07
【问题描述】:
我必须选择要使用 UNION 组合的请求:
Table 1 : Table_a, table_b 和 table_c 之间的连接
id_table_a desc_table_a table_b.id_user table_c.field
-----------------------------------------------------------
1 desc1 1 field1
2 desc2 2 field2
3 desc3 3 field3
表 2:这也是 Table_a、table_b 和 table_c 之间的连接,但它有以下列:
id_table_a desc_table_a table_c.id_user table_c.field
-----------------------------------------------------------
4 desc4 4 field4
5 desc5 5 field8
9 desc9 6 field9
两者的区别在于表1中我们有table_b.id_user和表二
table_c.id_user 代替。
组合表
id_table_a desc_table_a id_user table_c.field
-----------------------------------------------------------
1 desc1 1 field1
2 desc2 2 field2
3 desc3 3 field3
4 desc4 4 field4
5 desc5 5 field5
9 desc9 6 field6
我已经有加入请求,但是在两者之间进行联合给了我
ORA-01790 expression must have same datatype as corresponding expression
这是有道理的,因为两列不一样。
我为此使用 zend_Db 的 join 和 union。
那么我该如何解决这个问题才能得到结果呢?
谢谢。
【问题讨论】:
-
您使用的查询中所有字段的数据类型是什么?您的查询是什么?
-
表1和表2字段的数据类型完全相同,table_b和table_c中的id_user在DB中的类型相同(NUMBER(6,0))
-
好吧,ORA-01790 仅在它们不存在时才会发生(参见例如这里:techonthenet.com/oracle/errors/ora01790.php)
标签: oracle zend-framework plsql union