Mysql加入和使用

问题描述 投票:0回答:1

我在mysql中有JOIN的问题,我认为解决方案很简单,但是我不知道如何实现。

mysql> SELECT * FROM inputs WHERE name_competition = 'ROBOTOVANI';
+----------+------------------+------------+----------------+
| id_input | name_competition | name_input | data_type      |
+----------+------------------+------------+----------------+
|       53 | ROBOTOVANI       | Id         | unique_numbers |
|       54 | ROBOTOVANI       | Jmeno      | unique_words   |
|       55 | ROBOTOVANI       | Prvni_cas  | times          |
+----------+------------------+------------+----------------+

mysql> SELECT * FROM unique_numbers WHERE name_competition = 'ROBOTOVANI';
+------------------+------------------+------------+-----------+-------+
| id_unique_number | name_competition | name_input | id_record | value |
+------------------+------------------+------------+-----------+-------+
|               31 | ROBOTOVANI       | Id         |         7 |     7 |
|               32 | ROBOTOVANI       | Id         |        12 |    12 |
|               33 | ROBOTOVANI       | Id         |        15 |    15 |
+------------------+------------------+------------+-----------+-------+

mysql> SELECT * FROM unique_words WHERE name_competition = 'ROBOTOVANI';
+----------+------------------+------------+-----------+--------+
| id_words | name_competition | name_input | id_record | value  |
+----------+------------------+------------+-----------+--------+
|       13 | ROBOTOVANI       | Jmeno      |        12 | George |
|       12 | ROBOTOVANI       | Jmeno      |         7 | John   |
|       14 | ROBOTOVANI       | Jmeno      |        15 | Lucy   |
+----------+------------------+------------+-----------+--------+

mysql> SELECT * FROM times WHERE name_competition = 'ROBOTOVANI';
+---------+------------------+------------+-----------+----------+
| id_time | name_competition | name_input | id_record | value    |
+---------+------------------+------------+-----------+----------+
|       1 | ROBOTOVANI       | Prvni_cas  |        15 | 00:25:33 |
+---------+------------------+------------+-----------+----------+

并且我需要以下结果

+-----+--------+-----------+
|  ID | Jmeno  | Prvni_cas |
+-----+--------------------+
| 12  | George |  NULL     |
|  7  |  John  |  NULL     |
|  15 |  Lucy  |  00:25:33 |
+-----+--------+-----------+

列'id_record'是关键,这只是简单的示例。我通常会有更多输入。

mysql join using relation
1个回答
0
投票

这应该在不包含更多表的情况下为您提供所需的结果。

SELECT      uw.id_record as 'ID', uw.value as 'Jmeno', times.value as 'Prvni_cas'
FROM        unique_words uw
LEFT JOIN   times times
ON          times.id_record = uw.id_record
WHERE       name_competition = 'ROBOTOVANI';
ORDER BY    uw.name_input ASC
© www.soinside.com 2019 - 2024. All rights reserved.