0

私はMySQLを初めて使用し、次のことを行うMySQLクエリを作成しようとしています:

表 A: タイムスタンプ | id_num

表 B: 部門 | first_id | second_id

  • テーブル A には重複した id_num が含まれている可能性があり、重複が存在する場合、結果は id_num を 1 回だけ返す必要があります。
  • id_nums は過去 1 週間以内に記録する必要があります
  • 特定の部門を指定して、テーブル B の first_id と second_id の間にある id_num を検索したいと考えています。

これまでに成功せずに試したことは次のとおりです。

SELECT DISTINCT id_num FROM AWHERE timestamp> '2013-09-19 00:00:00' AND id_num BETWEEN (SELECT first_idFROM BWHERE dept= X) AND (SELECT last_idFROM B WHERE dept= X)

このタイプの操作を最適に行うためのヒントはありますか? 前もって感謝します。

4

1 に答える 1

0

2 つのテーブルの列を関連付ける場合、通常は JOIN を使用します。

SELECT distinct id_num
FROM A
JOIN B ON A.id_num < B.first_id AND B.second_id
WHERE A.timestamp > '2013-09-19 00:00:00'
AND B.dept = X
于 2013-09-27T01:09:31.543 に答える