我对SQL的东西很新,而且我的情况是我没有足够的知识来实现以下目标。
我正在尝试将两个选择查询的结果组合在一起,但是一个查询来自一个数据库,另一个查询来自另一个数据库。两个数据库都在同一台服务器上。
如下所示:
在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 |
+-----------+-------------+---------------------------------------------------+----------------------+
在Database2上,我运行以下查询:
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是相同的信息。我不确定是否可能,但输出需要按照CONTENT_ID表对artist / song_name进行分组。而且没有任何条件。
我感谢所有人和任何帮助。
先谢谢。
答案 0 :(得分:0)
将列id
添加到Database1.PROMOTION_LIST
,然后创建另一个表格,将id
与SONG_ID
连接起来:
promo_id song_id
1 11111
1 22222
1 33333
2 55555
...
然后,创建所需的查询会更容易。
如果您需要进一步的帮助,请告诉我。