2013-05-15 7 views
2

Я пытаюсь построить довольно сложный вид в MySQL и хочу сделать условный, но он всегда должен терпеть неудачу.MySQL SubQuery Условный

мой взгляд (упрощенно) является

Select entry AS Entry, ,(select count(`poitems`.`entry`) AS `count(poitems.entry)` from `poitems` where (`poitems`.`PurchaseOrder` = `purchaseorder`.`entry`)) AS `TotalEntries`, from purchase orders 

это нормально, но то, что я пытаюсь сделать, это добавить что-то вроде

if ((select count(`poitems`.`entry`) = 0),'query.png',NULL) AS Queryflag 

или просто проверить значение TotalEntries.

Помогите оценить! Благодаря!

+0

Ну это сложно. Вот полный вид (который работает): –

+0

не может поставить полный запрос (слишком длинный), но интересующий его бит состоит в том, что таблица покупки (основная) имеет индексное поле, называемое входом, и таблицу poitems имеет поле под названием Purchaseorder. Получая общее количество элементов в таблице poitems, если это хорошо, просто я хочу условно показать графику, что totalitems равен 0. Надеюсь, это имеет смысл! –

+0

просто пощекотайте некоторые инструкции для создания таблиц или plop em в pastie.org – Drew

ответ

0

Я не 100% уверен, что на имена столбцов в purchaseorder или poitems таблицы, но следующие должны получить вы движетесь в правильном направлении:

select t.Entry, 
case when t.TotalEntries > 0 then 'query.png' else null end as Queryflag 
from 
(
select po.entry as Entry, 
count(*) as TotalEntries 
from purchaseorder po 
left outer join poitems poi on poi.purchaseorder = po.entry 
group by po.entry 
) t;