Anda tidak dapat menggunakan alias yang ditentukan dalam klausa SELECT untuk menghitung kolom lain yang juga berada dalam klausa SELECT yang sama. Anda memiliki setidaknya tiga opsi:
-
Ulangi subquery setiap kali Anda perlu menggunakannya. Ini memiliki kerugian bahwa Anda perlu mengulang banyak kode. Karena subkueri Anda panjang dan rumit, ini adalah opsi yang tidak diinginkan.
-
Gunakan subkueri dan kueri luar.
SELECT *, (subtotal - payment) AS balance FROM ( SELECT ..., (...) AS subtotal, (...) AS payment FROM ... ) T1
-
Gunakan JOIN alih-alih subpilihan. Ini sedikit lebih rumit untuk situasi Anda, tetapi akan lebih baik untuk kinerja jika Anda perlu mengambil lebih dari satu baris.