2013-10-04 5 views
1

результат, полученный из этого запроса ниже, очевидно, один файл, этот один файл имеет только rur в столбце whataver, я хочу иметь две записи с одним и тем же файлом, меня интересует имея счет дважды. имя файла типа размер (это перечисление) ABC 10mb руб, способкак подсчитать одно и то же значение дважды в запросе

 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, если это возможно. в противном случае я могу избежать подсчета размера, который, как

Я хочу, чтобы получить результат, как у меня есть 30% рублей 20%, как и хх% нулевой

+0

Ваш столбец 'whatever' не соответствует тому, что возвращает ваш оператор' case'. –

+0

он просто возвращает нуль – trackmeifUcan

ответ

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.

+0

попробует это в ближайшее время, спасибо! – trackmeifUcan

Смежные вопросы