![](/img/trans.png)
[英]insert by selecting values from two columns into a column from the same table
[英]Selecting values from two columns and concatenating them into a column on a different table
我對SQL有點陌生,並嘗試按照上面的描述進行操作。 這是我的查詢:
SELECT
CONCAT (first_name, last_name) INTO full_name_variable
FROM
table_1
WHERE
phone_number = new.number;
它似乎不起作用。 但是,當我使用AS
使用此查詢時,它可以工作。 像這樣:
SELECT
CONCAT (first_name, last_name) AS full_name_variable
FROM
table_1
WHERE
phone_number = new.number;
我非常感謝您的幫助
改用顯式join
SELECT CONCAT (first_name, last_name) INTO full_name_variable
FROM table_1 t1
INNER JOIN tabke_2 t1
ON t1.phone_number = t2.number;
或者您可以使用INSRET INTO
語句
INSERT INTO full_name_variable (full_name)
SELECT CONCAT (first_name, last_name)
FROM table_1 t1
INNER JOIN tabke_2 t1
ON t1.phone_number = t2.number;
您需要了解變量和列之間的區別。
INTO
將值加載到變量中,該變量在您使用的編程塊中可用。 是相同的:=
。 因此,您的第一個版本與:
SELECT full_name_variable := CONCAT(first_name, last_name)
FROM table_1
WHERE phone_number = new.number;
AS
(實際上是可選的),在結果集中命名一列。
您的代碼似乎是在觸發器中,通常不會返回結果集。 我的猜測是您想要INTO
或:=
。 我更喜歡:=
因為我發現它對設置變量更直觀。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.