答えて
質問にはいくつかの問題があります。まず、callback_holding
テーブルからref
カラムでグループ化していますが、このテーブルだけでなく他のテーブルからも非集約カラムを選択しています。これを回避するには、サブクエリ内のcallback_holding
の最大IDを検索し、それを他のテーブルに結合する集計を行う必要があります。
次に、答えが見つからない場合、レコードは返されないと述べました。これはINNER JOIN
の性質ですが、に結合を切り替えてLEFT JOIN
を使用すると、クエリのその時点までのレコードは失われません。回答表のこの列がNULL
である場合は、COALESCE(a.submit_dt, 'NA')
を使用してNA
を表示しました。この列がdatetime
の場合は、適切なデフォルト値を使用する必要があります。 NOW()
。
SELECT ca.*,
v.*,
COALESCE(a.submit_dt, 'NA') AS submit_dt, -- display 'NA' if no answer
t.max_id
FROM callback_holding ca
INNER JOIN
(
SELECT ref, MAX(id) AS max_id
FROM callback_holding
GROUP BY ref
) t
ON t.ref = ca.ref AND
t.max_id = ca.id
INNER JOIN valuations v
ON v.Ref = ca.ref
LEFT JOIN answer a
ON a.title = ca.ref
WHERE v.Consultant = '$user' AND
ca.isholding = 2
ORDER BY ca.reccomendeddate
こんにちは、ありがとうございました。私はそのクエリを実行しようとし、以下のエラーがあります。 –
分析中に4つのエラーが見つかりました。 エイリアスが見つかりました。 (84番の "t"の近く) 予期しないトークン。 (84番の "t"の近く) 予期しないトークン。 (85桁の "。"の近く) 予期しないトークン。 (位置86の "max_id"の近く) –
@GazSmith申し訳ありませんが、SELECT句にカンマがありませんでした。私の更新された答えを試してください。 –
で試してみてください。
SELECT ca.*, MAX(ca.id), v.*,a.submit_dt from callback_holding ca
INNER join valuations v on v.Ref = ca.ref
LEFT join answer a on a.title = ca.ref
WHERE v.Consultant = '$user' and ca.isholding = 2
GROUP BY ca.ref DESC order by ca.reccomendeddate asc
- 1. SQLクエリは、私は、このSQLクエリを持って
- 2. MySQLのクエリは、私はこのクエリを持って
- 3. アップグレードSQLクエリは、私はこのクエリを持って
- 4. 私のSQLクエリは、私は、このクラスを持っている
- 5. PythonのMySQLは、私は、MySQLのクエリを持っているクエリ
- 6. 私は次のSQLクエリを持っているMySQLの
- 7. 私は次のSQLクエリを持って
- 8. SQLクエリは、私は次のSQLクエリを持っているエラー
- 9. 私は、MySQLのクエリを持っているMySQLのクエリ
- 10. は、私はすでにこのクエリを持っているSQL
- 11. は、私は、このテーブルを持って適切なSQLクエリ
- 12. は、私はこのようなクエリを持っているSQL
- 13. は、MySQLは、私は次のMySQLのクエリを持って
- 14. 私はこのクエリを持っているSQL Serverの
- 15. SQLは、私がこのSQL文を持って選択句
- 16. SQL:私はこのSQL文を持って
- 17. 私は、SQL Server 2012年にこのクエリを持っているSQL Serverクエリ
- 18. は、私はSQLクエリを持っているSQLクエリ
- 19. PostgreSQLは、私はこのクエリを持っている補助文
- 20. DB2のSQLは、テーブルのヘルプ私はこのようなSQLクエリを持って
- 21. は、私はこのクエリを持って、このクエリ
- 22. MySQLは、私は次のクエリ持っ
- 23. 私はこのLINQクエリを持って
- 24. 私はこのクエリ持っ
- 25. のmysql - UPDATEの対象テーブルは、私は、次のSQLクエリを持って
- 26. MySQLの1つのクエリ私は2つのクエリを持って
- 27. mysqlのクエリは、私が持っているクエリの終わりに私のSQLクエリの一部では
- 28. は、私はPHPで書かれたこのSQLクエリを持ってFluentpdoクエリ
- 29. MySQLのクエリ - 私はこのようなクエリを持っている別のテーブル
- 30. SQL。私は私がこだわっているこのSQLクエリ
あなたは '左外側join'をしたいように見える - 内部結合よりも少し複雑に、私はオンラインのどこかでそれらについて読むことをお勧めしたいです。 – jackarms