Находите предметы, не перечисленные в трех таблицах мастер-ску, продается, а не продается - PullRequest
0 голосов
/ 07 марта 2020

У нас есть три таблицы
Таблица Мастерску , в которой есть все SKU
Таблица продаж : есть все SKU, которые имели по крайней мере 1 кол-во продаж вместе с порталом имя, под которым он был продан
Не продается Таблица : содержит SKU, которые перечислены на портале, но не продаются вместе с именем портала

Нужен список SKU от Мастерску с колонкой который говорит продано, не продано, не в списке. SKU, которого нет ни в проданных, ни в проданных таблицах, будет считаться не перечисленным мой код указан ниже, думаю, нужно объединить его с Mastersku, где имя поля - SKU, а в двух других таблицах - Trim Sku. Добавлен отчетливо, поскольку Trim Sku является дубликатом в таблице «продано» и «не продано». Только в том случае, если SKU, представленный в списке «продано» и «не продано» для данного портала, означает, что проданная неправильно должна предшествовать. в настоящее время мы перемещаем SKU из не проданных в проданные вручную.

    select DISTINCT `portal`,`Trim Sku`,'sold' TableName from sold
    UNION ALL 
    select DISTINCT `portal`,`Trim Sku`,'notsold' TableName from notsold

1 Ответ

1 голос
/ 07 марта 2020

Я бы оставил присоединиться к таблице mastersku на двух других и использовать выражение case, чтобы понять, продан он или нет:

SELECT    m.*, 
          CASE WHEN s.`trim sku` IS NOT NULL THEN 'sold'
               WHEN n.`trim sku` IS NOT NULL THNE 'not sold'
               ELSE 'not listed'
          END AS status
FROM      mastersku m
LEFT JOIN sold      s ON m.`sku` = s.`trim sku`
LEFT JOIN notsold   n ON m.`sku` = n.`trim sku`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...