質問内の「Q_本指名カウント」が間違っている(コピペミス?)のでどこをどうすればとは言えませんが、基本的に後のクエリで呼び出している部分をそっくりそのまま置き換えればうまくいくと思います。置き換えた部分はSQL終了文字(;
)を削除して、括弧(()
)で括ります
ex)
LEFT JOIN Q_バック代金 ON
↓
LEFT JOIN (SELECT Q_売上合計.伝票ID,~(略)~) ON
また、自己結合をする場合、適宜エイリアスを使用し、その他、(サブクエリ関係なく)一般的なクエリの記述として、複雑なクエリになる場合には適切な括弧の運用が必要になります
具体的にはINNER JOINを連続させる場合、1回であれば必要のない括弧が必要になったりします。
あと、単純に必要な計算の見極めが必要ですね
SELECT
T1.伝票ID
,T1.テーブル番号
,T1.日時
,T1.指名
,T1.名前
,T1.ドリンク
,T1.ドリンク代金
,IIf(T1.指名 = "本指名", T2.テーブル代金 / T3.本指名カウント) AS バック代金
FROM
(
MT_売上 AS T1
INNER JOIN
(
SELECT
伝票ID
,テーブル番号
,日時
,sum(ドリンク代金) AS テーブル代金
FROM
MT_売上
GROUP BY
伝票ID
,テーブル番号
,日時
) AS T2
ON
T1.伝票ID = T2.伝票ID
AND T1.テーブル番号 = T2.テーブル番号
AND T1.日時 = T2.日時
)
INNER JOIN
(
SELECT
伝票ID
,テーブル番号
,日時
,count(*) AS 本指名カウント
FROM
MT_売上
WHERE
指名 = "本指名"
GROUP BY
伝票ID
,テーブル番号
,日時
) AS T3
ON
T1.伝票ID = T3.伝票ID
AND T1.テーブル番号 = T3.テーブル番号
AND T1.日時 = T3.日時
;
MT_売上の構造自体が若干怪しいですが、そちらは無視して回答しています
通報 ...