Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql-在一个输出中组合来自两个不同数据库的两个select查询_Mysql - Fatal编程技术网

Mysql-在一个输出中组合来自两个不同数据库的两个select查询

Mysql-在一个输出中组合来自两个不同数据库的两个select查询,mysql,Mysql,我对SQL的东西还很陌生,我的知识还不足以实现以下目标 我试图合并两个select查询的结果,但一个查询来自一个数据库,另一个用于另一个数据库。两个数据库位于同一台服务器中 如下图所示: 在Database1上,我运行以下查询: MariaDB [(none)]> select GENRE,STYLE,CONTENT_ID,PROMO_END_DATE from Database1.PROMOTION_LIST ; +-----------+------------------------

我对SQL的东西还很陌生,我的知识还不足以实现以下目标

我试图合并两个select查询的结果,但一个查询来自一个数据库,另一个用于另一个数据库。两个数据库位于同一台服务器中

如下图所示:

在Database1上,我运行以下查询:

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不,它不是。