select a,b,c, from transmission t where t.filnename ='ABC'
select d,e,f, from transmission t where t.filnename ='ABC'
我希望将结果作为两行一起放入一个结果集中,因为结果将进入DFF报告。
输出应为:
a,b,c
d,e,f
我尝试了UNION,但它给了我这个错误:
将数据类型varchar转换为bigint时出错。
答案 0 :(得分:0)
使用AS
为列赋予相同的名称,
select d AS a, e AS b, f AS c,
并将其转换为普通的超级类型。如果您的数据库支持。
例如,MySQL具有CAST
:http://www.mysqltutorial.org/mysql-cast/
select CAST(d AS VARCHAR) AS a, ...
或将其转换为常见的超类型(例如,通过将VARCHAR列解析为数字)。
然后与UNION
一起加入。
无论如何,这种做法不太好。我建议重新考虑该方法,并保持标准化的数据结构。
答案 1 :(得分:0)
a,b或c列中至少一个的数据类型为varchar,并且相同位置(第一,第二或第三)中的d,e和f中的至少一个为bigint。正如评论者所说,您可以将bigint强制转换为varchar使其起作用。
使用UNION时,出现在相同位置的列必须具有相同(或至少兼容)的类型。