我在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'是关键,这只是简单的示例。我通常会有更多输入。
这应该在不包含更多表的情况下为您提供所需的结果。
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