SQL 查询以查找列值等于同一行中其他两列之和的行
SQL query to find rows where a column value is equal to the sum of tow other columns in the same row
我需要构建一个 SQL 查询以从 table 中查找行,其中列值 "total cost" 等于其他两列 "price" 的总和, "discount" 在同一行。
这是我的查询:
$sql = "SELECT * FROM pedido INNER JOIN clientes ON
pedido.clientes_id=clientes.clientes_id INNER JOIN chofer
ON pedido.chofer_id=chofer.chofer_id WHERE clientes.clientes_nombre
LIKE '%$filtro_nombre%' AND pedido.pedido_fecha LIKE '%$filtro_fecha%'
AND pedido.pedido_costo = SUM(pedido_descuento + pedido_saldo)
ORDER BY pedido_id DESC LIMIT 20 OFFSET $offset";
查询可以删除 SUM() 的一部分:
AND pedido.pedido_costo = SUM(pedido_descuento + pedido_saldo)
示例:
$sql = "SELECT * FROM pedido INNER JOIN clientes ON
pedido.clientes_id=clientes.clientes_id INNER JOIN chofer
ON pedido.chofer_id=chofer.chofer_id WHERE clientes.clientes_nombre
LIKE '%$filtro_nombre%' AND pedido.pedido_fecha LIKE '%$filtro_fecha%'
ORDER BY pedido_id DESC LIMIT 20 OFFSET $offset";
我真的不知道如何在 SQL 查询中对两个值求和。
SUM
用于计算特定 列 而非 行 的总和。因此,您使用 SUM
的方式将行不通。为您的要求。参考下面的查询
SELECT *
FROM
pedido
INNER JOIN
clientes ON pedido.clientes_id=clientes.clientes_id
INNER JOIN
chofer ON pedido.chofer_id=chofer.chofer_id
WHERE
clientes.clientes_nombre LIKE '%$filtro_nombre%'
AND
pedido.pedido_fecha LIKE '%$filtro_fecha%'
AND
pedido.pedido_costo = (pedido_descuento + pedido_saldo)
ORDER BY pedido_id
DESC LIMIT 20 OFFSET $offset";
我需要构建一个 SQL 查询以从 table 中查找行,其中列值 "total cost" 等于其他两列 "price" 的总和, "discount" 在同一行。
这是我的查询:
$sql = "SELECT * FROM pedido INNER JOIN clientes ON
pedido.clientes_id=clientes.clientes_id INNER JOIN chofer
ON pedido.chofer_id=chofer.chofer_id WHERE clientes.clientes_nombre
LIKE '%$filtro_nombre%' AND pedido.pedido_fecha LIKE '%$filtro_fecha%'
AND pedido.pedido_costo = SUM(pedido_descuento + pedido_saldo)
ORDER BY pedido_id DESC LIMIT 20 OFFSET $offset";
查询可以删除 SUM() 的一部分:
AND pedido.pedido_costo = SUM(pedido_descuento + pedido_saldo)
示例:
$sql = "SELECT * FROM pedido INNER JOIN clientes ON
pedido.clientes_id=clientes.clientes_id INNER JOIN chofer
ON pedido.chofer_id=chofer.chofer_id WHERE clientes.clientes_nombre
LIKE '%$filtro_nombre%' AND pedido.pedido_fecha LIKE '%$filtro_fecha%'
ORDER BY pedido_id DESC LIMIT 20 OFFSET $offset";
我真的不知道如何在 SQL 查询中对两个值求和。
SUM
用于计算特定 列 而非 行 的总和。因此,您使用 SUM
的方式将行不通。为您的要求。参考下面的查询
SELECT *
FROM
pedido
INNER JOIN
clientes ON pedido.clientes_id=clientes.clientes_id
INNER JOIN
chofer ON pedido.chofer_id=chofer.chofer_id
WHERE
clientes.clientes_nombre LIKE '%$filtro_nombre%'
AND
pedido.pedido_fecha LIKE '%$filtro_fecha%'
AND
pedido.pedido_costo = (pedido_descuento + pedido_saldo)
ORDER BY pedido_id
DESC LIMIT 20 OFFSET $offset";