Mysql-在一个输出中组合来自两个不同数据库的两个select查询
我对SQL的东西还很陌生,我的知识还不足以实现以下目标 我试图合并两个select查询的结果,但一个查询来自一个数据库,另一个用于另一个数据库。两个数据库位于同一台服务器中 如下图所示: 在Database1上,我运行以下查询:Mysql-在一个输出中组合来自两个不同数据库的两个select查询,mysql,Mysql,我对SQL的东西还很陌生,我的知识还不足以实现以下目标 我试图合并两个select查询的结果,但一个查询来自一个数据库,另一个用于另一个数据库。两个数据库位于同一台服务器中 如下图所示: 在Database1上,我运行以下查询: MariaDB [(none)]> select GENRE,STYLE,CONTENT_ID,PROMO_END_DATE from Database1.PROMOTION_LIST ; +-----------+------------------------
MariaDB [(none)]> select GENRE,STYLE,CONTENT_ID,PROMO_END_DATE from Database1.PROMOTION_LIST ;
+-----------+---------------------------------------+-------------------------+----------------------+
| GENRE | STYLE | CONTENT_ID |PROMO_END_DATE |
+-----------+---------------------------------------+-------------------------+----------------------+
| ROCK |Hard Rock,Opera Rock, Syphonic Rock | 11111,22222,33333 | 2015-12-02 04:00:00 |
| METAL |Black Metal, Death Metal, Heavy Metal | 55555,66666,77777,22222 | 2015-12-29 11:00:00 |
| ELECTRO |Dance, Tance, Flash House | 88888,22222,66666,44444 | 2015-12-02 07:00:00 |
+-----------+-------------+---------------------------------------------------+----------------------+
SELECT SONG_ID,SONG_NAME,ARTIST FROM Database2.song_master_table
+---------+---------------+---------+
| SONG_ID | SONG_NAME | ARTIST |
+---------+---------------+---------+
| 11111 | SONG1 | BAND1 |
| 22222 | SONG2 | SINGER1 |
| 33333 | SONG3 | ARTIST1 |
| 44444 | SONG4 | BAND2 |
| 55555 | SONG5 | SINGER2 |
| 66666 | SONG6 | ARTIST2 |
| 77777 | SONG7 | BAND2 |
| 88888 | SONG8 | SINGER2 |
+---------+---------------+---------+
在Database2上,我运行以下查询:
MariaDB [(none)]> select GENRE,STYLE,CONTENT_ID,PROMO_END_DATE from Database1.PROMOTION_LIST ;
+-----------+---------------------------------------+-------------------------+----------------------+
| GENRE | STYLE | CONTENT_ID |PROMO_END_DATE |
+-----------+---------------------------------------+-------------------------+----------------------+
| ROCK |Hard Rock,Opera Rock, Syphonic Rock | 11111,22222,33333 | 2015-12-02 04:00:00 |
| METAL |Black Metal, Death Metal, Heavy Metal | 55555,66666,77777,22222 | 2015-12-29 11:00:00 |
| ELECTRO |Dance, Tance, Flash House | 88888,22222,66666,44444 | 2015-12-02 07:00:00 |
+-----------+-------------+---------------------------------------------------+----------------------+
SELECT SONG_ID,SONG_NAME,ARTIST FROM Database2.song_master_table
+---------+---------------+---------+
| SONG_ID | SONG_NAME | ARTIST |
+---------+---------------+---------+
| 11111 | SONG1 | BAND1 |
| 22222 | SONG2 | SINGER1 |
| 33333 | SONG3 | ARTIST1 |
| 44444 | SONG4 | BAND2 |
| 55555 | SONG5 | SINGER2 |
| 66666 | SONG6 | ARTIST2 |
| 77777 | SONG7 | BAND2 |
| 88888 | SONG8 | SINGER2 |
+---------+---------------+---------+
我试图实现的结果是:
+-----------+---------------------------------------+-------------------------+--------------+---------------+--------------------+
| GENRE | STYLE | CONTENT_ID | ARTIST | SONG_NAME | PROMO_END_DATE |
+-----------+---------------------------------------+-------------------------+--------------+---------------+--------------------+
| ROCK |Hard Rock,Opera Rock, Syphonic Rock | 11111 | BAND1 | SONG1 | 2015-12-02 04:00:0 |
| | | 22222 | SINGER1 | SONG2 | 2015-12-02 04:00:0 |
| | | 33333 | ARTIST1 | SONG3 | 2015-12-02 04:00:0 |
| METAL |Black Metal, Death Metal, Heavy Metal | 55555 | SINGER2 | SONG5 | 2015-12-02 04:00:0 |
| | | 66666 | ARTIST2 | SONG6 | 2015-12-02 04:00:0 |
| | | 77777 | BAND2 | SONG7 | 2015-12-02 04:00:0 |
| | | 22222 | SINGER1 | SONG2 | 2015-12-02 04:00:0 |
| | | 33333 | ARTIST1 | SONG3 | 2015-12-02 04:00:0 |
| ELECTRO |Dance, Tance, Flash House | 88888 | SINGER2 | SONG8 | 2015-12-02 04:00:0 |
| | | 22222 | SINGER1 | SONG2 | 2015-12-02 04:00:0 |
| | | 66666 | ARTIST2 | SONG6 | 2015-12-02 04:00:0 |
| | | 44444 | BAND2 | SONG4 | 2015-12-02 04:00:0 |
+-----------+---------------------------------------+-------------------------+--------------+---------------+--------------------+
我尝试使用join和union,但语法不正确
认为:
Database1、CONTENT_ID和Database2 SONG_ID是相同的信息。我不确定是否可能,但输出将需要根据内容ID表对艺术家/歌曲名称进行分组。而且没有where条件
我感谢所有的帮助
感谢advanced.将列
id
添加到数据库1.促销列表
,然后创建另一个表,将此id
与SONG\u id
连接起来:
promo_id song_id
1 11111
1 22222
1 33333
2 55555
...
这样创建所需的查询就容易多了
如果您需要进一步的帮助,请告诉我。首先将您的方案正常化此问题的可能副本已在这里解决@Goudelalfy不,它不是。