Mysql ошибка, которую я не ожидаю

0

Ошибка:

Unknown column 'miahrose_pos104.phppos_sales.item_id' in 'on clause'

Я не думаю, что это должно произойти, потому что я присоединяюсь phppos_sales_items к phppos_items, но кажется, что запрос считает, что он соединяется с phppos_sales. Что я делаю неправильно?

Query:

CREATE TEMPORARY TABLE phppos_sales_items_temp 
(SELECT date(sale_time) as sale_date, phppos_sales_items.sale_id, comment,payment_type, customer_id, employee_id, phppos_items.item_id, supplier_id, quantity_purchased, item_cost_price, item_unit_price, SUM(percent) as item_tax_percent, discount_percent, (item_unit_price*quantity_purchased-item_unit_price*quantity_purchased*discount_percent/100) as subtotal, ROUND((item_unit_price*quantity_purchased-item_unit_price*quantity_purchased*discount_percent/100)*(1+(SUM(percent)/100)),2) as total, ROUND((item_unit_price*quantity_purchased-item_unit_price*quantity_purchased*discount_percent/100)*(SUM(percent)/100),2) as tax, (item_unit_price*quantity_purchased-item_unit_price*quantity_purchased*discount_percent/100) - (item_cost_price*quantity_purchased) as profit FROM ((((
phppos_sales_items 
INNER JOIN phppos_sales USING (sale_id)) 
INNER JOIN phppos_items USING (item_id)) 
LEFT OUTER JOIN phppos_suppliers ON phppos_items.supplier_id=phppos_suppliers.person_id) LEFT OUTER JOIN phppos_sales_items_taxes USING (sale_id, item_id)) 
GROUP BY sale_id, item_id)
Теги:

1 ответ

0

Я не думаю, что это должно произойти потому что я присоединяюсь phppos_sales_items для phppos_items, но кажется, что запрос считает, что это присоединяется к phppos_sales. Что такое Я ошибаюсь?

Ты веришь больше в себя, чем в СУБД MySQL.

ЕСЛИ сообщение об ошибке противоречит заветному предположению, верьте сообщению и проверьте свои предположения.

Это относительно многословный запрос, поэтому вероятность совершения ошибки не равна нулю. Проверьте свой код более тщательно, и вы найдете то, что MySQL жалуется.

Разве это не проблема?

phppos_sales_items 
INNER JOIN phppos_sales USING (sale_id)) 
INNER JOIN phppos_items USING (item_id))

Я не думаю, что это должно произойти, потому что я присоединяюсь phppos_sales_items к phppos_items, но кажется, что запрос считает, что он соединяется с phppos_sales.

Я смущен этим утверждением, потому что это подразумевает, что phppos_sales не задействован, но этот фрагмент ясно показывает, что это так.

  • 0
    Что не так с этим, хотя, он прекрасно работает в MySQL 5 и не работает в MySQL 4. У phppos_sales_items есть sale_id и item_id
  • 0
    Базы данных в версиях 4 и 5 не совпадают. Или что-то изменилось в MySQL между версиями 4 и 5, что делает этот запрос недопустимым в более новой версии.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню