PHP に次のようなデータベース クエリがあります。
SELECT * FROM ($myQuery) AS myDerivedTable
JOIN ( SELECT COUNT(*) FROM myDerivedTable WHERE criteriaA ) AS A
JOIN ( SELECT COUNT(*) FROM myDerivedTable WHERE criteriaB ) AS B
JOIN ( SELECT COUNT(*) FROM myDerivedTable WHERE criteriaC ) AS C
...
ここでは$myQuery
、 に次のものが含まれているとします。
SELECT * FROM table1 ORDER BY dateOfSubmition DESC
myDerivedTable
毎回計算するのではなく、派生テーブル ( ) を何度も使用したいだけです。しかし、mySQL はエラーを報告します:
#1146 - Table 'myDB.myDerivedTable' doesn't exist
もちろん存在しません!で、データベース内の既存のテーブルについて言及するつもりmyDerivedTable
はありませんでしたが、既に計算されたテーブルへの参照です!!
どうすれば望ましい動作を実現できますか?