从下面这个查询中获得的结果显然是一个文件,这个文件只是在whataver列中,我希望有两个条目具有相同的文件,我有兴趣计算两次。 文件名大小类型(这是一个枚举) ABC 10mb rur,方式
select filename,,size,type, (case when type like '%rur%' then 'rurroad' when type like '%way%' then 'hway' end) as whatever
from files as f,metadata as v where f.id = v.id
and filename like 'ANC'
and type like '%rur%'
我的结果是
filename size type(this is an enum) whatever
ABC 10 mb rur,way rur
我想要
filename size type(this is an enum) whatever
ABC 10 mb rur,way rur
ABC 10 mb rur,way way
同时,我的文件有大小,通常我想知道我有多少MB与rur,以及有多少方式。我想创建一个数据透视表摘要,这就是为什么我希望它们都在一个视图/表中。所以我想在可能的情况下获得10mb rur和10 mb的大小。否则我可以避免计算那么大小
我想得到结果,因为我有20%的20%方式和xx%null
答案 0 :(得分:0)
只需使用UNION
:
select filename, size, type, (case when type like '%rur%' then 'rurroad' when type like '%way%' then 'hway' end) as whatever
from files as f, metadata as v where f.id = v.id
and filename like 'ANC'
and type like '%rur%'
union all
select filename, size, type, (case when type like '%rur%' then 'rurroad' when type like '%way%' then 'hway' end) as whatever
from files as f, metadata as v where f.id = v.id
and filename like 'ANC'
and type like '%way%' -- here we select %way% records - records with "rur,way" will appear in both queries.
PS:除非MySQL不支持它。不确定,但我的猜测确实如此,毕竟它是ANSI SQL。 PPS:it does。