2016-08-04 4 views
-1

列の値が「total cost」の列をテーブルから検索するためにSQLクエリを作成する必要があります。同じ行の2つの他の列「価格」、「割引」の合計。列の値が同じ行の他の列を合計する行と一致する行を検索するSQLクエリ

これは私のクエリです:

$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クエリで2つの値をSUMする方法

+1

'以下のクエリとpedido.pedido_costo = pedido_descuento + pedido_saldo' – Siyual

+0

@Siyual感謝を参照してください!シンプルです:_haha –

+0

'SUM()'は集計用です(_rows_に値を追加) – Uueerdo

答えて

3

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"; 
+0

ありがとう、私はすでにそれを解決しました。これが解決策でした –

関連する問題