2010-04-13 69 views
0

我有以下表格:显示多个SQL领域的单场

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 

回答

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 
+0

工程就像一个魅力! – 2010-04-13 18:41:36

+0

我只是使用\t CONCAT(titles.title,' - ',authors.au_fname,'',authors.au_lname)作为名称 - 再次感谢! – 2010-04-13 19:03:10