リクエスト、d_requests(配送リクエスト)、s_requests(送信リクエスト)の3つのテーブルがあります。MySQLは2つのテーブルを結合し、結果はIN_typeにする必要があります。
"d_requests"と "s_requests"の部分は常に同じです(userID、ticket_creation_dateなどのデータ)。したがって、これらのテーブルからチャンクされ、dbへの各挿入時に「要求」に置かれました。
今、私は次の操作を行う必要がありますいくつかのデータを選択する要求とd_requestsに参加して、私はそのような選択は、私は結果を持ってs_requests'コラム 『send_before』
SELECT r.type, r.request_from, r.request_to, d.departure_date
FROM requests as r
JOIN d_requests as d ON r.request_id = d.requests_id
WHERE r.type='d' AND r.request_from='Beijing'
AND r.request_to='Tokyo' AND d.departure_date
IN (SELECT s.s_before from s_requests s where s.s_before<='user_defined_date')
ORDER BY d.departure_date
にあることを確認する必要がありますが、それは部分的です。 DBから見ると、1行のテーブルしか生成しないうちにいくつかの行を出力するはずです。たとえ "user_defined_date"を2025-12-12のように設定しても、出力は1行(すべてのチケットは2017年と2018年初め)です。
最終条件(...の中のd.departure_date)を削除すると、それ以上のレコードが返されますか?もしそうなら、少なくともあなたはその状態に何か問題があることを知っています。 d.departure_dateが他のテーブルのs_before日付と正確に一致しない可能性があります。すなわち、秒またはミリ秒が異なる場合、出発日とuser_defined_dateを単に比較するほうがいいですか? –
@RichSはい、サブクエリなしでは、クエリはより多くの結果を返します。 – Zerus
@RichS出発日とuser_defined_dateを比較するほうが良いですか?それは私がやっていることですが、これを行うには3つのテーブルを調べる必要があります。 – Zerus