sql语句转换成Laravel ORM的问题。
程序员文章站
2022-05-23 20:37:30
...
SELECT
e.external_account_id,
e.trade_type,
e.stock_code,
e.name,
e.stock_name,
SUM(e.trade_price * e.trade_count) / SUM(e.trade_count) AS trade_price,
SUM(e.trade_count) AS trade_count
FROM
(
SELECT
a.id,
a.external_account_id,
a.internal_account_id,
a.trade_price,
a.trade_count,
b.stock_code,
b.trade_type,
c.name as stock_name,
d.name
FROM
trades a,
orders b,
stocks c,
external_accounts d
WHERE
a.order_id = b.id
AND b.stock_code = c.code
AND a.external_account_id = 29
AND d.id = 29
) AS e
GROUP BY e.stock_code, e.trade_type
这段sql转换成ORM应该怎么写啊= =。
Laravel用的不多,求高玩赐教。。
踩我的朋友们,嫌我问的问题low?问的low你来答啊。答不出来还踩,什么心态。?
回复内容:
SELECT
e.external_account_id,
e.trade_type,
e.stock_code,
e.name,
e.stock_name,
SUM(e.trade_price * e.trade_count) / SUM(e.trade_count) AS trade_price,
SUM(e.trade_count) AS trade_count
FROM
(
SELECT
a.id,
a.external_account_id,
a.internal_account_id,
a.trade_price,
a.trade_count,
b.stock_code,
b.trade_type,
c.name as stock_name,
d.name
FROM
trades a,
orders b,
stocks c,
external_accounts d
WHERE
a.order_id = b.id
AND b.stock_code = c.code
AND a.external_account_id = 29
AND d.id = 29
) AS e
GROUP BY e.stock_code, e.trade_type
这段sql转换成ORM应该怎么写啊= =。
Laravel用的不多,求高玩赐教。。
踩我的朋友们,嫌我问的问题low?问的low你来答啊。答不出来还踩,什么心态。?
转换成ORM增加了复杂性,降低了sql语句可读性,还不如直接用DB::select()
来执行sql。
复杂的sql没必要改成orm
推荐阅读
-
SQL Server把某个字段的数据用一条语句转换成字符串
-
SQL Server使用Merge语句当源表数据集为空时,无法进行查询的问题
-
Django 浅谈根据配置生成SQL语句的问题
-
Laravel框架执行原生SQL语句及使用paginate分页的方法
-
SQL Server中的SQL语句优化与效率问题
-
Android中的SQL查询语句LIKE绑定参数问题解决办法(sqlite数据库)
-
解决oracle数据库删除sql语句时出现^H字样的问题
-
获取django框架orm query执行的sql语句实现方法分析
-
sql查询语句--wher后不能放聚集函数 plsql很卡的问题解决办法
-
SQL Server把某个字段的数据用一条语句转换成字符串