two - mysql subquery in join
SQL LEFT JOIN Subquery Alias (2)
No seleccionó post_id
en la subconsulta. Debe seleccionarlo en la subconsulta de esta manera:
SELECT wp_woocommerce_order_items.order_id As No_Commande
FROM wp_woocommerce_order_items
LEFT JOIN
(
SELECT meta_value As Prenom, post_id -- <----- this
FROM wp_postmeta
WHERE meta_key = ''_shipping_first_name''
) AS a
ON wp_woocommerce_order_items.order_id = a.post_id
WHERE wp_woocommerce_order_items.order_id =2198
Estoy ejecutando esta consulta SQL:
SELECT wp_woocommerce_order_items.order_id As No_Commande
FROM wp_woocommerce_order_items
LEFT JOIN
(
SELECT meta_value As Prenom
FROM wp_postmeta
WHERE meta_key = ''_shipping_first_name''
) AS a
ON wp_woocommerce_order_items.order_id = a.post_id
WHERE wp_woocommerce_order_items.order_id =2198
Y obtengo este error:
# 1054 - Columna desconocida ''a.post_id'' en ''cláusula on''.
Creo que mi código es bastante simple, pero no puedo hacerlo bien. ¿Qué estoy haciendo mal?
Reconozco que la respuesta funciona y ha sido aceptada, pero hay una forma mucho más clara de escribir esa consulta. Probado en mysql y postgres.
SELECT wpoi.order_id As No_Commande
FROM wp_woocommerce_order_items AS wpoi
LEFT JOIN wp_postmeta AS wpp ON wpoi.order_id = wpp.post_id
AND wpp.meta_key = ''_shipping_first_name''
WHERE wpoi.order_id =2198