将多个SQL字段显示为单个字段

时间:2010-04-13 18:33:43

标签: sql mysql join view

我有以下表格:

CREATE TABLE title (
 booktitle VARCHAR( 60 ),
 title_id CHAR( 6 ),
 au_id CHAR( 11 ),
 PRIMARY KEY (title_id)
    )

 create table authors (
 au_id  char(11),
 au_lname varchar(20),
 au_fname varchar(20),
 phone  varchar(10),
 address  varchar(30),
 city  varchar(20),
 state  char(2),
 zip  char(5));

我需要以某种方式在一个字段中显示booktitle,au_lname和au_fname。 我想按CITY订购,但这应该很简单。 到目前为止,我已经对这些数据进行了观察,但我不确定如何将其纳入单个字段?我尝试使用“AS”命令,但我一直收到错误。

以下是我的工作观点:

CREATE VIEW authorname AS
 SELECT
  title.booktitle, authors.au_fname, authors.au_lname
 FROM
  title
  INNER JOIN authors ON title.au_id = authors.au_id
 ORDER BY authors.city

1 个答案:

答案 0 :(得分:3)

您可以使用CONCAT()来连接字符串值:

CREATE VIEW authorname AS
  SELECT
    CONCAT(title.booktitle,  authors.au_fname,  authors.au_lname) as name
  FROM title
  INNER JOIN authors ON title.au_id = authors.au_id
  ORDER BY authors.city

或者如果您想按特定字符分隔值,请使用CONCAT_WS()

CONCAT_WS(' ', title.booktitle,  authors.au_fname, authors.au_lname) as name