最初はリソースを取りすぎた個々のクエリを使用してデータを取得しようとしたため、時間を短縮するためにクエリを組み合わせようとしています。最初の選択自体は問題なく機能しますが、時間を短縮するために 2 番目の選択と組み合わせたいと考えています。
現在のエラー: #1241 - オペランドには 1 列を含める必要があります
SELECT (SELECT sc.description AS description,
sc.maincode,
sc.controlcode,
sc.subcode,
( ob.debitbalance - ob.creditbalance ) AS mainbalance
FROM subcode AS sc
LEFT JOIN openingbalance AS ob
ON ( sc.maincode = ob.maincode
AND sc.controlcode = ob.controlcode
AND sc.subcode = ob.subcode )
GROUP BY sc.maincode,
sc.controlcode,
sc.subcode
ORDER BY sc.maincode,
sc.controlcode,
sc.subcode ASC) AS test,
(SELECT Sum(v.debit) AS totaldebit,
Sum(v.credit) AS totalcredit,
( mainbalance + totaldebit - totalcredit ) AS openingbalance
FROM subcode AS sc
LEFT JOIN voucher AS v
ON ( sc.maincode = v.maincode
AND sc.controlcode = v.controlcode
AND sc.subcode = v.subcode )
WHERE Substring(v.voucherdate, 1, 7) < '07-2019'
GROUP BY sc.maincode,
sc.controlcode,
sc.subcode
ORDER BY sc.maincode,
sc.controlcode,
sc.subcode ASC) AS test2
テーブル構造は次のとおりです。
Subcode Table
+----------+-------------+---------+--------------+
| Maincode | Controlcode | Subcode | Description |
+----------+-------------+---------+--------------+
| 01 | 01 | 123 | Test Account |
| 01 | 02 | 124 | Test Account |
+----------+-------------+---------+--------------+
Voucher Table
+-------------+--------------+---------------+----------+-------------+---------+----------------+-------+--------+
| Voucherdate | Vouchertype | Vouchernumber | Maincode | Controlcode | Subcode | Description | Debit | Credit |
+-------------+--------------+---------------+----------+-------------+---------+----------------+-------+--------+
| 2019-07-13 | BV | 01 | 01 | 01 | 123 | Entering Test | 100 | 0 |
| 2019-07-13 | BV | 01 | 01 | 02 | 124 | Enterting Test | 0 | 100 |
+-------------+--------------+---------------+----------+-------------+---------+----------------+-------+--------+
OpeningBalance Table
+----------+-------------+---------+--------------+---------------+
| Maincode | Controlcode | Subcode | Debitbalance | Creditbalance |
+----------+-------------+---------+--------------+---------------+
| 01 | 01 | 123 | 100 | 0 |
| 01 | 02 | 124 | 100 | 0 |
+----------+-------------+---------+--------------+---------------+
次の結果に期待
+--------------+----------+-------------+---------+-------------+------------+-------------+----------------+
| Description | Maincode | Controlcode | Subcode | Mainbalance | Totaldebit | Totalcredit | Openingbalance |
+--------------+----------+-------------+---------+-------------+------------+-------------+----------------+
| Test Account | 01 | 01 | 123 | 100 | 100 | 0 | 200 |
| Test Account | 01 | 02 | 124 | 100 | 0 | 100 | 0 |
+--------------+----------+-------------+---------+-------------+------------+-------------+----------------+