MYSQL合并两个表中的两列,并且仍然使用左连接
因此,由于一些原因,我不得不在两个不同的表中为一个产品节约价格,这有点小问题。可以把两列合并成一列吗?我知道联盟是存在的,但它和左联有效吗 非常感谢任何指点 致意MYSQL合并两个表中的两列,并且仍然使用左连接,mysql,left-join,Mysql,Left Join,因此,由于一些原因,我不得不在两个不同的表中为一个产品节约价格,这有点小问题。可以把两列合并成一列吗?我知道联盟是存在的,但它和左联有效吗 非常感谢任何指点 致意 看来你会从中受益 COALESCE()接受多个参数,并返回第一个非空参数 SELECT si.id AS shop_item_id, si.item_price, s.logo_file_name, p.cat_id AS category_id, api.item_price AS
看来你会从中受益 COALESCE()接受多个参数,并返回第一个非空参数
SELECT
si.id AS shop_item_id,
si.item_price,
s.logo_file_name,
p.cat_id AS category_id,
api.item_price AS api_price,
MAX(c.campaign_desc) AS campaignDesc,
MAX(c.campaign_type_id) AS campaignType,
MAX(c.shop_id) AS campaign_shop_id,
MAX(ct.image_name) AS campaignLogo
FROM
shop_item si
LEFT JOIN
shop s ON
s.id = si.shop_id
LEFT JOIN
product p ON
si.product_id = p.id
LEFT JOIN
campaign_category cc ON
cc.category_id = p.cat_id
LEFT JOIN
campaign c ON
c.id = cc.campaign_id AND
c.shop_id = si.shop_id AND
c.show_in_pricetable = 1 AND
NOW() BETWEEN c.date_from and c.date_to
LEFT JOIN
campaign_type ct ON
c.campaign_type_id = ct.id
LEFT JOIN
shop_api_item api ON
si.rel_feed_api = api.unique_id AND si.shop_id = api.shop_id
WHERE
si.`product_id` = 586 AND
s.`active_shop` = 1
GROUP BY
s.name,
si.id ,
si.item_price
ORDER BY
si.`item_price`,
si.`shop_id`,
c.`campaign_desc` DESC
SELECT
si.id AS shop_item_id,
COALESCE(si.item_price, api.item_price) AS coalesced_price,
...