这是我的疑问:
"UPDATE tbl_pedidos_cotacaos_produtos tb1 LEFT JOIN
tbl_pedidos_produtos tb2 ON tb1.produto_id = tb2.id SET
tb1.status = CASE WHEN tb1.valor_total =
SELECT LEAST(SELECT valor_total FROM tbl_pedidos_cotacaos_produtos WHERE
produto_id = ".$produto->itens[$t]->pedido_id.") THEN 5 ELSE 4 WHERE pedido_id = ".$produto->itens[$t]->pedido_id
错误:
[19-Dec-2015 05:37:48 America/Sao_Paulo] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT LEAST(SELECT valor_total FROM tbl_pedidos_cotacaos_produtos WHERE produto' at line 1
显然我不能在其中使用带有SELECT语句的LEAST()。
答案 0 :(得分:3)
答案 1 :(得分:1)
不是mysql的专家,但您可以使用此代码来解决此问题
SELECT Least(valor_total) FROM tbl_pedidos_cotacaos_produtos WHERE
produto_id = ".$produto->itens[$t]->pedido_id. "
而是在select命令上使用显式最小函数:)
答案 2 :(得分:1)
使用MIN()功能查找多行的最小值。
... total = (SELECT MIN(valor_total) FROM ...)