[英]Mysql - Combine two select queries, from two different databases in just one output
我對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 |
+-----------+---------------------------------------+-------------------------+--------------+---------------+--------------------+
我嘗試使用連接和聯合,但是語法不正確。
考慮到:
Database1,CONTENT_ID和Database2 SONG_ID是相同的信息。 而且我不確定是否可以,但是輸出將需要根據CONTENT_ID表將歌手/歌曲名分組。 而且沒有條件。
我感謝所有幫助。
提前致謝。
將列id
添加到Database1.PROMOTION_LIST
然后創建另一個表,該表將將該id
與SONG_ID
連接:
promo_id song_id
1 11111
1 22222
1 33333
2 55555
...
然后,創建所需的查詢會容易得多。
讓我知道您是否需要進一步的幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.