mysql-将列合并为一个大列

mysql-将列合并为一个大列,sql,mysql,Sql,Mysql,我有一张有地址的桌子。。。 街道地址、城市、州和邮政编码 我需要街道地址、城邦和邮政编码在一列中任何想法你都可以找到 SELECT CONCAT(address, ' ', city, ', ', state, ' ', zip) FROM table; 如果您想在将来或对其他用户使这更方便,请考虑创建表的视图,并将其作为名为“位置”的列提供。 < p>您可以只将它们提交到。 SELECT CONCAT(address, ' ', city, ', ', state, ' ', zip)

我有一张有地址的桌子。。。 街道地址、城市、州和邮政编码
我需要街道地址、城邦和邮政编码在一列中任何想法你都可以找到

SELECT CONCAT(address, '  ', city, ', ', state, ' ', zip) FROM table;

如果您想在将来或对其他用户使这更方便,请考虑创建表的视图,并将其作为名为“位置”的列提供。

< p>您可以只将它们提交到

SELECT CONCAT(address, '  ', city, ', ', state, ' ', zip) FROM table;

如果您想在以后或其他用户中使这更方便,请考虑创建表的视图,并将其作为名为“位置”的列提供。

< P>如果需要在表中存储合并的值,请使用

UPDATE address SET bigcolumn = CONCAT(streetaddress, ', ', city, ', ', state, ' ', zip);

如果需要在表中存储合并的值,请使用

UPDATE address SET bigcolumn = CONCAT(streetaddress, ', ', city, ', ', state, ' ', zip);
这将有助于您:

将列值与所需的分隔符连接。 因此,您案例中的示例查询可以是:

SELECT CONCAT(street-address, '\n', city, ', ',state,'-',zip) as full_address FROM table;
这将有助于您:

将列值与所需的分隔符连接。 因此,您案例中的示例查询可以是:

SELECT CONCAT(street-address, '\n', city, ', ',state,'-',zip) as full_address FROM table;

我也不建议你把所有这些列放在一个列中。您可能希望稍后按城市、州或其他单个列进行搜索,并将它们作为单独的字段进行搜索会容易得多。您可以按照前面的建议将字段作为SELECT语句的一部分进行连接,或者更好的做法是,如果这是一项经常执行的操作,您可以创建一个将字段连接在一起的视图,然后选择该视图,或者,您可以简单地创建一个存储函数,该函数将包含字段并作为SELECT语句的一部分调用该函数。这样的办法应该行得通

CREATE FUNCTION CONCAT_ADDRESS (p_id INT)
  RETURNS VARCHAR(255)
  BEGIN
  DECLARE v_street,v_city,v_state,v_zip, address VARCHAR(255);
  SELECT street_address, city, state, zip 
  INTO v_street,v_city,v_state,v_zip
  FROM table WHERE id = p_id;
  SET address = CONCAT(v_street,', ', v_city,', ', v_state,', ', v_zip);
  RETURN address;
END |
创建函数后,您可以随时将其用作SELECT语句的一部分,如中所示:

SELECT id, name, surname, CONCAT_ADDRESS(id) FROM table;

我也不建议你把所有这些列放在一个列中。您可能希望稍后按城市、州或其他单个列进行搜索,并将它们作为单独的字段进行搜索会容易得多。您可以按照前面的建议将字段作为SELECT语句的一部分进行连接,或者更好的做法是,如果这是一项经常执行的操作,您可以创建一个将字段连接在一起的视图,然后选择该视图,或者,您可以简单地创建一个存储函数,该函数将包含字段并作为SELECT语句的一部分调用该函数。这样的办法应该行得通

CREATE FUNCTION CONCAT_ADDRESS (p_id INT)
  RETURNS VARCHAR(255)
  BEGIN
  DECLARE v_street,v_city,v_state,v_zip, address VARCHAR(255);
  SELECT street_address, city, state, zip 
  INTO v_street,v_city,v_state,v_zip
  FROM table WHERE id = p_id;
  SET address = CONCAT(v_street,', ', v_city,', ', v_state,', ', v_zip);
  RETURN address;
END |
创建函数后,您可以随时将其用作SELECT语句的一部分,如中所示:

SELECT id, name, surname, CONCAT_ADDRESS(id) FROM table;