1

私は毎日走行するキロメートルを追跡する走行距離計アプリケーションを開発しています。この結果はデー​​タベースに保存されます。私の車は1日で何キロ走行するかわからないので、今日のキロメートルから合計キロメートルを引きます。

総キロメートルが42,904であるとしましょう。次のようなクエリでその値を取得します。

SELECT SUM(kilometros) FROM  `kilometraje` WHERE id_vehiculo =2

しかし、今日、私の走行距離計は42,967 kmを示しています。次に、手動で減算を実行し、データベースに差を挿入します。

INSERT INTO kilometraje (id_vehiculo, kilometros, fecha) VALUES (2, 63, '2013-01-14')

単一のクエリでこのプロセスを達成するにはどうすればよいですか?、次のことを試しましたが成功しませんでした。

INSERT INTO kilometraje (id_vehiculo, kilometros, fecha) VALUES (2, 42967-(SELECT SUM(kilometros) FROM  `kilometraje` WHERE id_vehiculo =2) , '2013-01-14')

このエラーが発生したため: -FROM句で更新するターゲットテーブル'kilometraje'を指定できません

4

1 に答える 1

2

使用するINSERT..INTO SELECT

INSERT INTO kilometraje (id_vehiculo, kilometros, fecha) 
SELECT 2, 42967 - SUM(kilometros), '2013-01-14'
FROM  `kilometraje` 
WHERE id_vehiculo = 2
于 2013-01-15T00:24:47.753 に答える