Sütun içeren bir tablom var: borç, kredi, debit_balance, credit_balance ve miktar. Borç ve kredi her biri belirli hesaplarla ilgilidir.mysql: bir satırın diğer iki satır değerine göre çalıştırılması
Her yeni satır eklediğimde, debit_balance ve credit_balance öğesinin hesabın önceki bakiyesine göre atanmasını istiyorum. Otomatik ödeme hesabı, kredi 's hesabı 1'dir
INSERT INTO `ledger` (`debit`, `credit`, `debit_balance`, `credit_balance`, `amount`)
VALUES ('1', '3',
(SELECT debit_balance FROM `ledger` WHERE `debit` = '1' ORDER BY `id` DESC LIMIT 0,1) + 5,
(SELECT credit_balance FROM `ledger` WHERE `credit` = '3' ORDER BY `id` DESC LIMIT 0,1) + 5,
'5')
3, ve ben değiştirmek istiyorum miktar ı sorguyu çalıştırdığınızda, MySQL bana Every derived table must have its own alias
hata veriyor 5.
olduğunu.
Ne istediğinizi yapmayan sorgu hakkında ne var? – VoteyDisciple
Bir "Her türetimli tablonun kendi takma adı olması gerekir" hatası alıyorum, ancak sorguları bir değer atama konumunda çalıştırıyorum, bunun daha mantıklı olacağı bir birleştirmeye karşı. – user2044299
Bu şema, probleminizin bir parçası olan süper tuhaf görünüyor. Gerçek bir muhasebe tablosunda "denge" sütunu yoktur, bakiye sadece eksi borçların toplamıdır. Defterinizin referanslarına takma adlar eklemeyi denediniz mi? Örneğin AS ledger_a '. – tadman