За последние 24 часа нас посетили 22583 программиста и 1139 роботов. Сейчас ищут 604 программиста ...

Запрос на выборку данных MSQL

Тема в разделе "MySQL", создана пользователем Markus77750, 2 ноя 2021.

  1. Markus77750

    Markus77750 Гость

    С нами с:
    2 ноя 2021
    Сообщения:
    1
    Симпатии:
    0
    Добрый день,

    просьба помочь доработать запрос выборки данных для выгрузки в ексель:
    Тело запроса рабочее, но не могу дописать выборку одного атрибута поскольку он лежит через отдельный запрос:

    Сам запрос:
    Код (Text):
    1.  
    2. SELECT G.GoodId AS 'GoodId',
    3.        G.Barcode AS 'GTIN',
    4.        G.Name AS 'Наименование товара',
    5. GROUP_CONCAT(DISTINCT A2478.Value ORDER BY 1 SEPARATOR ';')  AS 'Наименование товара',
    6. GROUP_CONCAT(DISTINCT CONCAT(A13914.Type, ': ',  A13914.Value) ORDER BY 1 SEPARATOR ';') AS  'МодельАртикул',
    7. GROUP_CONCAT(DISTINCT A13905.Value ORDER BY 1 SEPARATOR ';')  AS 'Вид обуви',
    8. GROUP_CONCAT(DISTINCT A15799.Value ORDER BY 1 SEPARATOR ';')  AS 'Цвет',
    9. GROUP_CONCAT(DISTINCT A13886.Value ORDER BY 1 SEPARATOR ';')  AS 'Размер в штихмассовой системе',
    10. GROUP_CONCAT(DISTINCT A13939.Value ORDER BY 1 SEPARATOR ';')  AS 'Материал верха',
    11. GROUP_CONCAT(DISTINCT A13942.Value ORDER BY 1 SEPARATOR ';')  AS 'Материал подкладки',
    12. GROUP_CONCAT(DISTINCT A13948.Value ORDER BY 1 SEPARATOR ';')  AS 'Материал подошвы'
    13. [COLOR=#ff4d4d]СЮДА ???????[/COLOR]
    14.  
    15. FROM Lst_Cat r
    16.   JOIN Lst_Cat c ON c.left BETWEEN r.left AND r.right AND r.CatId IN (298870)
    17.   JOIN Lst_GoodsToCat gtc ON gtc.CatId = c.CatId AND c.Deleted = 0
    18.   JOIN Lst_Goods G ON G.GoodId = gtc.GoodId AND gtc.Deleted = 0
    19.  
    20. LEFT JOIN Lst_AttrValues A2478   ON A2478.GoodId = G.GoodId AND A2478.AttrId = 2478  AND A2478.Deleted = 0
    21. LEFT JOIN Lst_AttrValues A13914 ON A13914.GoodId = G.GoodId AND A13914.AttrId = 13914 AND A13914.Deleted = 0
    22. LEFT JOIN Lst_AttrValues A13905 ON A13905.GoodId = G.GoodId AND A13905.AttrId = 13905 AND A13905.Deleted = 0
    23. LEFT JOIN Lst_AttrValues A15799 ON A15799.GoodId = G.GoodId AND A15799.AttrId = 15799 AND A15799.Deleted = 0
    24. LEFT JOIN Lst_AttrValues A13886 ON A13886.GoodId = G.GoodId AND A13886.AttrId = 13886 AND A13886.Deleted = 0
    25. LEFT JOIN Lst_AttrValues A13939 ON A13939.GoodId = G.GoodId AND A13939.AttrId = 13939 AND A13939.Deleted = 0
    26. LEFT JOIN Lst_AttrValues A13942 ON A13942.GoodId = G.GoodId AND A13942.AttrId = 13942 AND A13942.Deleted = 0
    27. LEFT JOIN Lst_AttrValues A13948 ON A13948.GoodId = G.GoodId AND A13948.AttrId = 13948 AND A13948.Deleted = 0
    28. [COLOR=#ff4d4d]СЮДА ???????[/COLOR]
    29.  
    30.  
    31. WHERE G.Status = 'published'
    32.       AND G.IsTechGTIN = 0
    33.       GROUP BY 1, 2, 3
    34.  
    35. //////////////////////
    Необходимо дописать получение одного атрибута ТНВЭД:
    В таблице Lst_GoodsToCat хранится 3 записи для каждого товара, где выглядит (приложен скрин) то есть для каждого товара есть 3 записи всегда, где одна это id категории ТНВЭД.
    В случае с товаром на скрине ТНВЭД значение ищем по catid для обуви между 308353 AND 321853 подходит только одно значение 316774 и вот по нему нужно дернуть таблицу Lst_Cat, чтобы получить значение ТНВЭД, которое берем из столбца PartyCatId.
     

    Вложения:

    • image001.png
      image001.png
      Размер файла:
      24,3 КБ
      Просмотров:
      2
    #1 Markus77750, 2 ноя 2021
    Последнее редактирование модератором: 3 ноя 2021