2

2 つのテーブルを結合しようとしていますが、問題は、条件としてフィールド「時間」がほぼ同じである必要があることです。

もう少しわかりやすく書かせてください、これが私が今までやろうと思っていたことです。

SELECT location
FROM retailer
LEFT JOIN imovo
ON retailer.time=imovo.time.

今、私が本当に必要としているのはこれではありません:retailer.time = imovo.timeですが、小売業者テーブルのフィールドの秒の差がimovo時間フィールドに対して4秒を超えないようにする必要があります。

説明させてください。小売業者からの時間フィールドが次のように表示されているとしましょう:

それで、これについて私を助けてもらえますか?ありがとう!

4

5 に答える 5

1

私はこれをテストしていませんが、うまくいくはずです:

imovo.time between retailer.time and retailer.time + interval 4 second
于 2012-08-15T20:59:54.547 に答える
1
...
ON addtime(retailer.time, '0:0:4')<imovo.time
AND retailer.time >imovo.time

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_addtime http://dev.mysql.com/doc/refman/5.5/en/date-and -time-functions.html#function_subtime

于 2012-08-15T21:00:59.917 に答える
0

以前のポスターが提案したようにして、時間と分に参加したい場合は、組み込みの HOUR および MINUTE 関数を試すことができます。見る:

参考文献と役立つページ:

[ CiteHistory レコード]

于 2012-08-15T21:08:58.973 に答える
0

MySQLはINTERVALをサポートしていないと思います(マニュアルですぐに見つけることができませんでした)。サポートしている場合は、@grossvogelの回答と+/- 4を混ぜて、両側でマージンを機能させてください。

SELECT location
FROM retailer
LEFT JOIN imovo
ON TO_SECONDS(imovo.time) BETWEEN TO_SECONDS(retailer.time) - 4 AND TO_SECONDS(retailer.time) + 4
于 2012-08-15T21:09:21.013 に答える
0

時間と分で結合を作成し、where句を次のように追加します

(imovo.time - 小売業者.time) < 4 秒の疑似コード

于 2012-08-15T20:54:22.370 に答える