本文介紹了一起插入(選擇值)(&A;V)的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我正在嘗試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'
);
我想創建一個VIEW表,它可能會解決問題,但我想可能會有某種方法將兩者加在一起。
謝謝你們!我希望我已經很好地描述了我所需要的:)
推薦答案
只返回SELECT語句的文字值;向SELECT列表添加一個表達式。例如:
INSERT INTO db_example.tab_example (id,name,surname,group)
SELECT ID
, first_name
, last_name
, '1' AS group
FROM db_contacts.tab_mygroup;
后續
q:是否可以使用As函數在同一列中選擇First_Name和Last_Name?或者我需要其他函數?
A:如果要將first_name和last_name中的值合并為一列,可以使用表達式將它們連接起來,并在選擇列表中使用該表達式,例如
CONCAT(last_name,', ',first_name')
或
CONCAT(first_name,' ',last_name)
AS關鍵字在INSERT ... SELECT的上下文中不會有任何效果,但是為該表達式分配一個與要插入該表達式的列的名稱匹配的別名確實有助于將來的讀者。
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
這篇關于一起插入(選擇值)(&A;V)的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,






