Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 从两列中选择值并将其连接到另一个表上的列中_Mysql_Sql_Select_Mysql Workbench - Fatal编程技术网

Mysql 从两列中选择值并将其连接到另一个表上的列中

Mysql 从两列中选择值并将其连接到另一个表上的列中,mysql,sql,select,mysql-workbench,Mysql,Sql,Select,Mysql Workbench,我对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_vari

我对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;
或者您可以使用
插入到
语句中

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
将值加载到一个变量中,该变量在您使用的编程块中可用。它是相同的a
:=
。因此,您的第一个版本与:

SELECT full_name_variable := CONCAT(first_name, last_name)
FROM table_1
WHERE phone_number = new.number;
作为
(实际上是可选的),命名结果集中的列


您的代码似乎处于触发器中,通常不会返回结果集。我猜你想把
变成
:=
。我更喜欢
:=
,因为我觉得设置变量更直观。

你想实现什么?mysql不支持SELECT INTO,你需要将INSERT INTO与SELECT一起使用:嘿,EzLo,我有一个触发器,如果满足where子句中的条件,它会从两列中选择值,连接它们并将它们放入新表中的新列中。让我试试看