Чтобы разобраться с этим, нужно работать изнутри. Выясните, что возвращает самый внутренний запрос, затем сопоставьте результат с предложением where, продолжайте, пока не достигнете вершины.
select item_id
from `sales_flat_quote_item`
where quote_id = 12670
Это дает вам список item_id, где quote_id равен 12670.
select item_id
from `sales_flat_quote_item_option`
where item_id in (Previous Result Set)
and code = 'is_gift'
Это дает вам список item_id, где item_id содержится в предыдущем списке И столбец кода = 'is_gift'
select sum(qty) as 'total'
from `sales_flat_quote_item`
where item_id not in (Previous Result Set)
and quote_id = 12670 and parent_item_id is null
Возвращает итоговую сумму поля qty и называет его «total», где item_id отсутствует в предыдущем наборе результатов AND, имеет quote_id 12670 и не имеет parent_item_id.
Этого должно быть достаточно для повторной обработки вашего запроса, но если у вас все еще будут проблемы, оставьте мне комментарий, и я посмотрю, смогу ли я переписать его, учитывая приведенную выше информацию (без таблиц).