本文介紹了一起插入(選擇值)(&A;V)的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我正在嘗試INSERT INTO
一個表,我知道兩種方法:
將行作為值添加:
INSERT INTO db_example.tab_example (id,name,surname,group)
VALUES ('','Tom','Hanks','1');
或來自另一個表:
INSERT INTO db_example.tab_example (id,name,surname)
SELECT ID,first_name,last_name FROM db_contacts.tab_mygroup;
但是,如果我想要插入另一個表中的某些值(第二種方法),而某些值手動類似于缺省值(第一種方法),該怎么辦?
這是我的嘗試(不起作用):
INSERT INTO db_example.tab_example (id,name,surname,group)
VALUES (
SELECT ID FROM db_contacts.tab_mygroup,
SELECT first_name FROM db_contacts.tab_mygroup,
SELECT last_name FROM db_contacts.tab_mygroup,
'1'
);
我想創(chuàng)建一個VIEW
表,它可能會解決問題,但我想可能會有某種方法將兩者加在一起。
謝謝你們!我希望我已經(jīng)很好地描述了我所需要的:)
推薦答案
只返回SELECT語句的文字值;向SELECT列表添加一個表達(dá)式。例如:
INSERT INTO db_example.tab_example (id,name,surname,group)
SELECT ID
, first_name
, last_name
, '1' AS group
FROM db_contacts.tab_mygroup;
后續(xù)
q:是否可以使用As函數(shù)在同一列中選擇First_Name和Last_Name?或者我需要其他函數(shù)?
A:如果要將first_name
和last_name
中的值合并為一列,可以使用表達(dá)式將它們連接起來,并在選擇列表中使用該表達(dá)式,例如
CONCAT(last_name,', ',first_name')
或
CONCAT(first_name,' ',last_name)
AS
關(guān)鍵字在INSERT ... SELECT
的上下文中不會有任何效果,但是為該表達(dá)式分配一個與要插入該表達(dá)式的列的名稱匹配的別名確實有助于將來的讀者。
INSERT INTO db_example.tab_example (id,name,surname,group,full_name)
SELECT ID
, first_name
, last_name
, '1' AS group
, CONCAT(first_name,' ',last_name) AS full_name
FROM db_contacts.tab_mygroup
這篇關(guān)于一起插入(選擇值)(&A;V)的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,