как ограничить запись в левом соединении - PullRequest
0 голосов
/ 14 февраля 2019
SELECT commerce_product_field_data_commerce_product__field_data_field_products.entity_id, field_products_commerce_product.nid FROM commerce_order o 
            join  commerce_payment_transaction t on o.order_id = t.order_id 
            join commerce_line_item i on o.order_id = i.order_id
            LEFT JOIN field_data_commerce_total s ON i.line_item_id = s.entity_id AND (s.entity_type = 'commerce_line_item' AND s.deleted = '0')
                LEFT JOIN field_data_commerce_product field_data_commerce_product ON i.line_item_id = field_data_commerce_product.entity_id AND (field_data_commerce_product.entity_type = 'commerce_line_item' AND field_data_commerce_product.deleted = '0')
        INNER JOIN commerce_product commerce_product_field_data_commerce_product ON field_data_commerce_product.commerce_product_product_id = commerce_product_field_data_commerce_product.product_id
        LEFT JOIN 


    (select * from field_data_field_products) 



    commerce_product_field_data_commerce_product__field_data_field_products ON commerce_product_field_data_commerce_product.product_id = commerce_product_field_data_commerce_product__field_data_field_products.field_products_product_id




    LEFT JOIN ( select nid as nid from node order by nid)



    field_products_commerce_product




    ON commerce_product_field_data_commerce_product__field_data_field_products.entity_id = field_products_commerce_product.nid LEFT JOIN (
    select r.entity_id, r.field_ranges_value from field_data_field_ranges r
    ) r

             on r.entity_id = field_products_commerce_product.nid
            WHERE t.status = 'success' and i.type = 'product' and o.Uid <> 0
         AND o.status IN  ('completed') and o.created >= '1483228800'  and o.created <= '1483315200'  and r.field_ranges_value = 'Tasty Sticks'

Является ли мой sql

Это дает мне 5 результатов.Мне нужно только 4

Один из идентификаторов продукта принадлежит двум узлам Drupal, и мне нужен только один из них

Я попытался изменить LEFT JOIN (выберите nid в качестве nid из порядка узлов по nid) на

LEFT JOIN (выберите nid в качестве nid из порядка узлов по пределу nid 1), но тогда я вообще не получаю никаких записей.Любая идея, что нужно изменить, пожалуйста, кроме удаления одного из дублирующих узлов.Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...