本文介紹了將兩個(gè)表中的MySQL數(shù)據(jù)合并到一個(gè)數(shù)據(jù)集并更新的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我有兩個(gè)相同但名稱不同的表,我希望使用某種查詢將它們合并為一個(gè)可用的數(shù)組數(shù)據(jù)集。我聽說Union函數(shù)在這方面很有用,但我以前從未使用過它。
好的,下面是一些偽表代碼:
TABLE_1和TABLE_2
我將使用以下查詢從兩個(gè)表中獲取數(shù)據(jù):
SELECT col_1, col_2 FROM TABLE_ WHERE ...
╔═════════╦═══════════╗
║ col_1 ║ col_2 ║
╠═════════╬═══════════╣
║ 37 ║ 1 ║
║ 37 ║ 2 ║
║ ... ║ ... ║
╚═════════╩═══════════╝
如何將兩個(gè)表中的數(shù)據(jù)組合在一起以獲得一個(gè)數(shù)據(jù)集?我還想更新數(shù)據(jù)集中的記錄,但如果我不知道數(shù)據(jù)來自哪個(gè)表,我該如何做?
提前謝謝。
推薦答案
使用UNION:
(SELECT col_1, col_2, 'TABLE_1' AS original_table FROM TABLE_1 LIMIT 0,250)
UNION
(SELECT col_1, col_2, 'TABLE_2' AS original_table FROM TABLE_2 LIMIT 0,250)
更多信息:
UNION ALL
也是一個(gè)選項(xiàng),它將為您提供重復(fù)的相同行(根據(jù)您提供的數(shù)據(jù),您似乎不需要這樣做)。
更新記錄只需使用…發(fā)起人是哪個(gè)表并不重要。
編輯:它在這里工作http://sqlfiddle.com/#!2/71a88/1
這篇關(guān)于將兩個(gè)表中的MySQL數(shù)據(jù)合并到一個(gè)數(shù)據(jù)集并更新的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,