2015-01-28 2 views
0

Имейте две таблицы, импорт и импорт. importrows содержит всю информацию о каждой записи в импорте. Я предполагаю, что это возможно через подзапрос, просто не имея никакой удачи, выясняя это. Любая помощь будет оценена по достоинству.Создание новых столбцов с подзапросами

importrows

import_id | status 

0001  | success 

0001  | error 

0001  | success 

0001  | error 

0002  | success 

0003  | success 

0001  | success 

0001  | success 

0001  | error 

0003  | error 

импорт

import_id  | created 

    0001  | 2015-01-21 10:39:53 

    0002  | 2015-01-21 10:39:53 

    0003  | 2015-01-21 10:39:53 

Я хотел бы добавить эти две таблицы вместе, чтобы сформировать что-то вроде этого:

import_id  | created    | success | error 

    0001  | 2015-01-21 10:39:53 | 4 | 3 

    0002  | 2015-01-21 10:39:53 | 1 | 0 

    0003  | 2015-01-21 10:39:53 | 1 | 1 

ответ

0

Вам нужно JOIN и GROUP BY Операции

select 
    i.import_id, 
    i.created, 
    s.success, 
    e.error 
from 
    imports i 
join 
    (select import_id, count(*) as success from importrows where status='success' group by import_id) s on s.import_id=i.import_id 
join 
    (select import_id, count(*) as error from importrows where status='error' group by import_id) e on e.import_id=i.import_id 
+0

Работайте отлично сейчас, спасибо большое. –

0
select i.import_id,i.created,s.success,e.error from imports i left join (select import_id, count(*) as success from importrows where status='success' group by import_id) s on s.import_id=i.import_id left join (select import_id, count(*) as error from importrows where status='error' group by import_id) e on e.import_id=i.import_id  

сделать покинул присоединиться и группу по, таким образом, если у вас нет «успех» или «ошибка» для конкретного импорта, он по-прежнему отображается. Удачи!

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