mysql - MySQL:将参数传递给子查询
问题描述
我有一个很长的查询,其中输出表的列之一必须是其结果取决于其他列的值之一的列:
SELECT
tord.id as orderID,
tord.date_create,
tod.total_order_qty,
tod.total_order_cost,
(SELECT SUM(itemComplexity) FROM (
SELECT (it.complexity * tordt.qty) AS itemComplexity
FROM `t1` tordt
LEFT JOIN `t2` it ON it.id = tordt.item_id
WHERE tordt.order_id = orderID) as TotalComplexity),
tu.email,
tu.name,
tu.phone
FROM `t3` tord
LEFT JOIN `t4` tod ON tod.order_id=tord.id
LEFT JOIN `t5` tu ON tu.id=tod.user_id
LEFT JOIN `t6` ti ON tod.item_id=ti.id
ORDER BY tord.date_create DESC
我想在这个子查询中传递orderID:
SELECT SUM( itemComplexity )
FROM (
SELECT (it.complexity * tordt.qty) AS itemComplexity
FROM `cms_module_rz_mark_order_details` tordt
LEFT JOIN `cms_module_rz_mark_items` it ON it.id = tordt.item_id
WHERE tordt.order_id =orderID
) AS TotalComplexity
如果我将此查询用作独立查询并将 orderID 设置为变量而不是数字,则查询可以顺利进行。如果我将它用作子查询 - 我无法将orderID作为参数传递。
请帮忙。
解决方案
推荐阅读
- input - TinyMCE 版本 5 - 无法输入标准弹出窗口(例如链接、媒体)输入字段
- java - Does unreferenced Scanner object close automatically?
- node.js - 具有角度通用的 WebSocket
- r - 将手动 p 值添加到 ggplot2 中的分组条形图
- php - 只有 PHP 有可能吗?PHP 表单
- javascript - 如何比较对象值
- javascript - 在文档中调用 Node.js <%%> 标记中的本地函数
- c# - 如果使用了 [AllowAnonymous],请在 JwtBearerEvents 中了解
- c - 井字游戏中的 MiniMax 算法
- linux - 如何在 Linux 中使用 getopt?