2016-04-06 5 views
-1

У меня есть следующий запрос:Использование переменных в левой присоединиться к

SELECT 
    o.id   AS id, 
    o.price_decimal AS price_decimal, 
    p.sum_with_tax AS sum_withtax, 
    @price_decimal := price_decimal 
FROM orders o 
    LEFT JOIN (
       SELECT order_id,quantity,tax_rate,price, 
       ROUND(SUM((price * (tax_rate/100 + 1) * quantity)), @price_decimal) AS sum_with_tax, 
       sum(quantity * price)             AS sum, 
       sum(quantity)               AS sum_quantity 
       FROM orders_positions 
       GROUP BY order_id) p 
    ON o.id = p.order_id 

Мне нужна @price_decimal переменной. Содержимое этого поля определяется в табличных заказах.

+1

Какой вопрос? – sagi

+1

возможно 'SELECT @ price_decimal' будет делать? – JanLeeYu

+0

возвращаемое значение «sum_withtax» равно NULL. синтаксис в основном правильный? – timmy

ответ

0

Пожалуйста, попробуйте:

SELECT 
    o.id AS id, o.price_decimal AS price_decimal, p.sum_with_tax AS sum_withtax, 
p.order_id, p.quantity,  p.tax_rate,  p.price, 
     ROUND(SUM((p.price * (p.tax_rate/100 + 1) * p.quantity)), o.price_decimal) AS sum_with_tax, 
      sum(p.quantity * price) AS sum, 
      sum(p.quantity) AS sum_quantity 
FROM orders o 
inner join orders_positions p ON o.id = p.order_id 
group by p.order_id 
Смежные вопросы