mysql—从两列中选择值并将它们连接到另一个表中的列中

slwdgvem  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(316)

我对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;

我非常感谢你的帮助

pod7payv

pod7payv1#

显式使用 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;
v1l68za4

v1l68za42#

您需要了解变量和列之间的区别。 INTO 将值加载到变量中,该变量在您使用的编程块中可用。它是同一个a := . 所以你的第一个版本和:

SELECT full_name_variable := CONCAT(first_name, last_name)
FROM table_1
WHERE phone_number = new.number;
``` `AS` (实际上是可选的),命名结果集中的列。
您的代码似乎处于触发器中,通常不会返回结果集。我猜你想 `INTO` 或者 `:=` . 我更喜欢 `:=` 因为我觉得设置变量更直观。

相关问题