Edit2: Выберите для разделения запросов и сопоставления / обработки информации в целом за пределами вывода базы данных. Вынуть их в формате .CSV и добавить их в Excel, где я собираюсь запустить фактические числа.
Запрос 1 для получения заказов и желаемой информации:
SELECT
shipstation_orders_v2.id AS SSO_id,
shipstation_orders_v2.order_number AS SSO_orderNumber,
shipstation_orders_v2.order_id AS SSO_orderID,
shipstation_orders_v2.storename AS SSO_storeName,
shipstation_orders_v2.order_date AS SSO_orderDate,
shipstation_orders_v2.order_total AS SSO_orderTotal,
shipstation_orders_v2.name AS SSO_name,
shipstation_orders_v2.company AS SSO_company
FROM shipstation_orders_v2
GROUP BY shipstation_orders_v2.id,
shipstation_orders_v2.order_number,
shipstation_orders_v2.order_id,
shipstation_orders_v2.storename,
shipstation_orders_v2.order_date,
shipstation_orders_v2.order_total,
shipstation_orders_v2.name,
shipstation_orders_v2.company
ORDER BY SSO_orderDate
Запрос 2 для извлечения выполнений и эквивалентной информации:
SELECT DISTINCT
shipstation_orders_v2.id AS SSO_id,
shipstation_fulfillments.id AS SSF_id,
shipstation_fulfillments.order_number AS SSF_orderNumber,
shipstation_orders_v2.order_number AS SSO_orderNumber,
shipstation_orders_v2.order_id AS SSO_orderID,
shipstation_orders_v2.storename AS SSO_storeName,
shipstation_orders_v2.order_date AS SSO_orderDate,
shipstation_fulfillments.order_date AS SSF_orderDate,
shipstation_orders_v2.order_total AS SSO_orderTotal,
shipstation_fulfillments.amount_paid AS SSF_amountPaid,
shipstation_orders_v2.name AS SSO_name,
shipstation_orders_v2.company AS SSO_company,
shipstation_fulfillments.name AS SSF_name,
shipstation_fulfillments.company AS SSF_company
FROM shipstation_fulfillments
INNER JOIN shipstation_orders_v2
ON shipstation_fulfillments.order_number =
shipstation_orders_v2.order_number
WHERE shipstation_fulfillments.order_number =
shipstation_orders_v2.order_number
GROUP BY shipstation_orders_v2.id,
shipstation_fulfillments.id,
shipstation_fulfillments.order_number,
shipstation_orders_v2.order_number,
shipstation_orders_v2.order_id,
shipstation_orders_v2.storename,
shipstation_orders_v2.order_date,
shipstation_fulfillments.order_date,
shipstation_orders_v2.order_total,
shipstation_fulfillments.amount_paid,
shipstation_orders_v2.name,
shipstation_orders_v2.company,
shipstation_fulfillments.name,
shipstation_fulfillments.company
Редактировать: Вопрос помечен как ответ. Я придумала другой способ сделать это, который был не таким заурядным. Реквизит в DRapp для того, чтобы заставить мой мозг двигаться.
Оригинальный код находится ниже стены текста
Я пользователь самообучаемой базы данных MySQL. Я не скажу администратор, так как это только я. Я собрал небольшую базу данных для работы - около 60 000 строк и максимум 51 столбец, распределенный по трем таблицам. Я использую это на работе как способ организовать довольно разрозненную настройку данных о продажах и иметь смысл для выявления тенденций, сезонности и всего такого хорошего. Я работаю в основном с данными с Shipstation.
Моя проблема, когда мне нужно было представить эту третью таблицу. Очевидно, что с двумя таблицами это просто JOIN
. Я понял, что работает просто отлично. У меня довольно много проблем с правильной настройкой JOINs
для этой третьей таблицы.
Я пытаюсь JOIN
данных от двух самых внутренних запросов к shipstation_orders_v2
и order_keys
к shipstation_fulfillments
результатам, которые у меня есть в третьей таблице.
Для тех из вас, кто не использует Shipstation или не знаком с этим элементом, исполнения относятся к категории, отличной от заказов, и не используют совершенно одинаковые данные. Это мой грязный способ склеить их, чтобы у нас была приличная, манипулируемая информация о продажах и тенденциях доставки и т. Д.
Я делаю внутренний запрос от shipstation_orders_v2
до order_keys
как способ к SELECT DISTINCT
сумме разделенных заказов. У меня были проблемы с дублированием данных, прежде чем я создал этот подзапрос. С помощью (теперь) подзапроса и подзапроса проблема дублирования была устранена, и только с этими двумя таблицами она работала нормально.
Проблема в том, что когда я делаю SELECT
из shipstation_fulfillments
с JOIN
для подзапроса и подзапроса, я сталкиваюсь с препятствиями.
Я получил несколько ошибок при работе над этим запросом. В порядке появления и разрешения:
Error 2013
, потеря соединения с сервером во время запроса (который сказал мне, что я делаю полное чтение таблицы для трех соединенных таблиц, так как это не приводит к ошибкам заранее, но моя установка rinkadink не может обработать это). Я избавился от этого.
Тогда ошибка 1051 для неопознанного имени таблицы shipstation_fulfillments
. Мне кажется, это может быть проблемой для псевдонимов запросов. Я не уверен.
Наконец, хороший ole Error 1064
, неверный синтаксис в первом подзапросе после
SELECT shipstation_fulfillments
аргументы.
Будучи самоучкой, я практически гарантировал бы, что я просто упускаю элемент синтаксиса, который может показаться довольно очевидным для опытного пользователя MySQL. Ниже моя текущая настройка запроса.
Если понадобится какое-либо разъяснение, дайте мне знать.
SELECT
`shipstation_fulfillments`.`order_date` AS `orderDate`,
`shipstation_fulfillments`.`order_number` AS `orderNumber`,
(`shipstation_fulfillments`.`amount_paid` + `shipstation_fulfillments`.`tax_paid`) AS "Total Paid",
`shipstation_fulfillments`.`name` AS `name`,
`shipstation_fulfillments`.`company` AS `company`,
FROM
(
(SELECT
COUNT(`shipstation_orders_v2`.`order_key`) AS `orderCount`,
`shipstation_orders_v2`.`key_id` AS `key_id`,
`shipstation_orders_v2`.`order_number` AS `order_number`,
MAX(`shipstation_orders_v2`.`order_date`) AS `order_date`,
`shipstation_orders_v2`.`storename` AS `store`,
(`shipstation_orders_v2`.`order_total` - `shipstation_orders_v2`.`shippingPaid`) AS `orderPrice`,
`shipstation_orders_v2`.`shippingpaid` AS `shippingPaid`,
SUM(`shipstation_orders_v2`.`shippingpaid`) AS `SUM shippingPaid`,
`shipstation_orders_v2`.`order_total` AS `orderTotal`,
SUM(`shipstation_orders_v2`.`order_total`) AS `SUM Total Amount Paid`,
`shipstation_orders_v2`.`qtyshipped` AS `qtyShipped`,
SUM(`shipstation_orders_v2`.`qtyshipped`) AS `SUM qtyShipped`,
`shipstation_orders_v2`.`name` AS `name`,
`shipstation_orders_v2`.`company` AS `company`
FROM
(SELECT DISTINCT
`order_keys`.`key_id` AS `key_id`,
`order_keys`.`order_key` AS `order_key`,
`shipstation_orders_v2`.`order_number` AS `order_number`,
`shipstation_orders_v2`.`order_id` AS `order_id`,
`shipstation_orders_v2`.`order_date` AS `order_date`,
`shipstation_orders_v2`.`storename` AS `storename`,
`shipstation_orders_v2`.`order_total` AS `order_total`,
`shipstation_orders_v2`.`qtyshipped` AS `qtyshipped`,
`shipstation_orders_v2`.`shippingpaid` AS `shippingpaid`,
`shipstation_orders_v2`.`name` AS `name`,
`shipstation_orders_v2`.`company` AS `company`
FROM
(`shipstation_orders_v2`
JOIN `order_keys` ON ((`order_keys`.`order_key` = `shipstation_orders_v2`.`order_id`)))) `t`)
JOIN `shipstation_fulfillments`
ON (`shipstation_orders_v2`.`order_number` = `shipstation_fulfillments`.`order_number`)) `w`