0

請求済み、受領済み、調整済みの金額についてテーブルを照会する必要がありますが、サービスが提供されたサンプルの数もテーブルに結合する必要があります

これを個別にリクエストすることもできますが、結果を 1 つの配列にうまくまとめたいと思います

これは私がうまくいくと思ったクエリです

SELECT ROUND(SUM(`amount_billed`/1000),2) AS `billed`,
ROUND(SUM(`amount_received`/1000),2) AS `received`, 
ROUND(SUM(`amount_adjusted`/1000),2) AS `adjustment` FROM `acs`.`billing` AS **`amount`**
INNER JOIN (SELECT COUNT(`accession_id`) AS `samples` FROM `acs`.`billing` AS **`count`** 
WHERE year(`count`.`date_billed`) = 2012 AND year(`count`.`date_paid`) = 2012
HAVING COUNT(`accession_id`) > 1) WHERE year(`amount`.`date_billed`) = 2012 AND year(`amount`.`date_paid`) = 2012;

しかし、MySQL は次のエラーを返します。

エラー コード: 1248。すべての派生テーブルには、独自のエイリアスが必要です。

すべてのテーブルに select クエリamountと joinのエイリアスを付けましたcount

4

1 に答える 1

0

単一のフィールドにエイリアスSELECT COUNT(accession_id) AS samplesを割り当てています。

派生テーブルにエイリアスを割り当てる必要があります。あなたは実際にそれを逃します。

最後に追加するクエリを更新してみてください:

) as table_b;

セミコロンの前または 2 番目のクエリが終了する場所 ( )inner_join.

于 2015-07-07T15:33:23.717 に答える