2010-04-13 55 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