Hola curura:
Antes que nada bienvenido al foro, espero que te sea de utilidad. Ahora si, pasando a tu pregunta, sin datos de tu modelo de BD es imposible entender lo que pones... dime tú si realmente crees que podamos saber de qué estás hablando
es más, me costaría pensar que tú mismo puedas tratar de entender qué es lo que que hace o pretende hacer tu consulta.
En lugar de eso tenemos que partir desde el inicio, postea la estructura de tus tablas, pon algunos datos de ejemplo para cada uno de ellos y dinos a partir de esos datos qué es lo que pretendes obtener como resultado. la verdad no creo
que haya necesidad de hacer tantas subconsultas como lo pretendes hacer, pero para darte una mejor respuesta necesitamos más datos.
Como recomendación adicional, trata de dar formato a tus consultas para que sean más legibles, por ejemplo en lugar de poner esto:
Código:
SELECT Sum(ps_order_detail.product_price * ps_order_detail.product_quantity)
FROM ps_orders INNER JOIN ps_order_detail ON ps_orders.id_order =
ps_order_detail.id_order INNER JOIN ps_customer ON ps_customer.id_customer
= ps_orders.id_customer AND ps_customer.secure_key = ps_orders.secure_key
WHERE ps_orders.id_lang = 3 AND ps_order_detail.id_order = checkorder.id_order
AND ps_order_detail.tax_rate = 4
Pon la consulta más o menos así:
Código MySQL:
Ver original SUM(ps_order_detail.product_price
* ps_order_detail.product_quantity
) ps_orders.id_order = ps_order_detail.id_order
ps_customer.id_customer
= ps_orders.id_customer
AND ps_customer.secure_key = ps_orders.secure_key
ps_orders.id_lang
= 3 AND ps_order_detail.id_order
= checkorder.id_order
AND ps_order_detail.tax_rate = 4
Es decir, trata de distinguir cada parte, el SELECT del FROM, el FROM de los JOIN's y los JOIN's del WHERE... así es mas sencillo tratar de entender lo que estás haciendo... Utiliza las etiquetas marcadas como Highligth para darle formato a tu código...
Alguna vez un profesor me dijo que cuando se hacen consultas como las que pones sólo Dios y Tú entienden lo que hacen, pero una semana después sólo Dios las entiende, porque ni tú tienes idea de lo que hiciste.
Saludos
Leo.