我有一個表(woocommerce),它具有以下結構

我想獲得meta_value與某些相對應的meta_key,如果它們不存在,則回傳 NULL。這就是我現在所擁有的
SELECT `meta_value`
FROM `wp_woocommerce_order_itemmeta`
WHERE `order_item_id` = 66
AND `meta_key` IN ("pa_brewing-method", "pa_size", "Sold By")
結果 :
meta_value
BeanDeck
我怎樣才能把它顯示為?
meta_value
NULL
NULL
BeanDeck
uj5u.com熱心網友回復:
您沒有關聯內部和外部查詢。如果至少有一個產品的 category_id = 90 內部查詢將回傳一些行,因此 NOT EXISTS 條件將始終為假,而外部查詢將不回傳任何行。您需要添加一個條件來指定內部查詢和外部查詢參考同一個產品:
SELECT *
FROM `oc_product_to_category` a
WHERE NOT EXISTS (
SELECT *
FROM `oc_product_to_category` b
WHERE category_id = 90 AND
a.product_id = b.product_id -- Here!
)
uj5u.com熱心網友回復:
IN()您可以LEFT JOIN轉到您感興趣的鍵串列,而不是使用 過濾。
SELECT
filter.order_item_id,
filter.meta_key,
meta.meta_value
FROM
(
SELECT 66 AS order_item_id, 'pa_brewing-method' AS meta_key
UNION ALL SELECT 66 AS order_item_id, 'pa_size' AS meta_key
UNION ALL SELECT 66 AS order_item_id, 'Sold By' AS meta_key
)
AS filter
LEFT JOIN
wp_woocommerce_order_itemmeta AS meta
ON meta.order_item_id = filter.order_item_id
AND meta.meta_key = filter.meta_key
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/322114.html
