Mysql WHERE with INNER JOIN

グランプリマスターズ

table_2へのINNERJOINを使用してtable_1のフィールドでWHERE句を使用する方法。以下のようなもの。

SELECT t1.result, t1.result_date
    FROM outcomes t1 
    WHERE t1.status = 'finished'
    INNER JOIN games t2
      ON t1.game_id = t2.game_id
    WHERE t2.closing_time < NOW();

以下はサンプルテーブルです。

ゲームテーブル

-------------------------------------------------------
game_id   name      start_time               closing_time
--------------------------------------------------------
1          aaa     2018-04-25 16:00:45     2018-04-25 16:30:45
2          bbb     2018-04-25 17:00:45     2018-04-25 17:30:45
3          ccc     2018-04-25 18:00:45     2018-04-25 18:30:45
---------------------------------------------------------------

結果表

----------------------------------------------------------------------
id   game_id    result      round    result_date          status
----------------------------------------------------------------------
1      1       2,4,6       1        2018-04-25 16:15:45  finished
2      1       4,5,3       2        2018-04-25 16:35:45  canceled
3      2       1,2,4       1        2018-04-25 17:15:45  finished
4      2       5,2,4       2        2018-04-25 17:30:45  canceled
5      3       1,2,3       1        2018-04-25 18:15:45  finished
6      3       2,2,5       2        2018-04-25 18:30:45  to-be-confirmed
---------------------------------------------------------------------

現在の時刻が2018-04-2518:13であるとすると、予想される出力は次のとおりです。

2,4,6        2018-04-25 16:15:45
1,2,4        2018-04-25 17:15:45 

これは、結果テーブルからそれぞれ1と3に等しいidを持つ行に対応します

バーマー

WHERE句は1つしか存在できず、すべてのFROMandJOIN句の後に配置する必要があります。条件をと組み合わせANDます。

SELECT t1.result, t1.result_date
FROM outcomes t1 
INNER JOIN games t2
  ON t1.game_id = t2.game_id
WHERE t2.closing_time < NOW())
  AND t1.status = 'finished'

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

NEGATION INNER JOIN with WHERE

分類Dev

MYSQL INNER JOINとGROUP BY

分類Dev

MySql INNER JOIN, ERROR #1066

分類Dev

MySQL JOIN + WHERE + GROUP BY

分類Dev

UPDATE table by INNER JOIN and where clause

分類Dev

MySQL - Using the result of a Stored Procedure in an Inner Join

分類Dev

Mysql Inner Join and Group By repeating row

分類Dev

MYSQL INNER JOIN with possible empty fields

分類Dev

Mysql inner join from two results

分類Dev

mySql INNER JOIN、MAX&DISTINCT

分類Dev

MySQL inner join on differently named columns

分類Dev

Joining Multiple tables Using Inner Join MYSQL

分類Dev

mysql additional condition after INNER JOIN, ON

分類Dev

MySQL-WHERE句+ JOIN

分類Dev

WHERE clause with MySQL LEFT JOIN

分類Dev

Mysql query inner join on most recent date (today, yesterday, or before)

分類Dev

How to count number of rows in other tables using mysql inner join?

分類Dev

Error in MySQL code- Syntax error at Inner join

分類Dev

INNER JOIN(MySQL)のサブクエリ

分類Dev

INNER JOIN、ON後のmysqlの追加条件

分類Dev

MySql Right Outer Join with Where Clause

分類Dev

MySQL LEFT JOIN Query with WHERE clause

分類Dev

MySQL JOIN QUERY with MULTIPLE WHERE CLAUSE

分類Dev

MySQL JOIN QUERY with MULTIPLE WHERE CLAUSE

分類Dev

MySQL - Use Count Without Where in Left Join

分類Dev

LEFT OUTER JOINを後にMySQLのINNER JOINは

分類Dev

最適化:WHERE x IN(1、2 ..、100.000)vs INNER JOIN tmp_table USING(x)?

分類Dev

Cakephp3, How to use where clause and inner join in cakephp3?

分類Dev

Linq:WHEREの前ではなく後のINNER JOIN