scubadude:
Eu estou trabalhando em consultas SQL em WooCommerce e wordpress onde eu tenho três tabelas que precisam para se juntar como um resultado da consulta. Basicamente, eu gostaria de lista data de entrega do item total que necessidades nesse dia toda a id ordem múltipla. Aqui está o que a mesa parece:
TABLE_A
| id | order_id | date |
| 1 | 20 | 2020-04-12 00:00:00 |
| 2 | 21 | 2020-04-14 00:00:00 |
| 3 | 22 | 2020-04-14 00:00:00 |
TABLE_B
| order_item_id | order_item_name | order_id |
| 50 | Item A | 20 |
| 51 | Item B | 20 |
| 52 | Item C | 21 |
| 53 | Item A | 21 |
| 54 | Item A | 22 |
TABLE_C
| detail_id | order_item_id | key | Value |
| 1 | 50 | qty | 2 |
| 2 | 51 | qty | 3 |
| 3 | 52 | qty | 3 |
| 4 | 53 | qty | 4 |
| 5 | 54 | qty | 2 |
Resultado desejado
| date | order_item_name | total |
| 2020-04-12 00:00:00 | Item A | 2 |
| 2020-04-12 00:00:00 | Item B | 3 |
| 2020-04-14 00:00:00 | Item C | 3 |
| 2020-04-14 00:00:00 | Item A | 6 |
O que eu fiz:
SELECT
date,
order_item_name,
sum(value) as Total
FROM
TABLE_A
INNER JOIN TABLE_B USING (order_id)
INNER JOIN TABLE_C USING (order_item_id)
GROUP BY order_item_id
Mas eu não posso parecer para obter o total correto, qualquer ajuda será muito apreciada, obrigado
Mansi:
SELECT
date,
order_item_name,
sum(value) as Total
FROM
TABLE_A
INNER JOIN TABLE_B USING (order_id)
INNER JOIN TABLE_C USING (order_item_id)
GROUP BY order_item_name,date
ORDER BY order_id ASC
Desde que você precisa a data itens sábio, grupo, precisa ser executada em nome do item e data. Esta consulta vai buscar o resultado desejado.