2015-06-10 52 views
1

我需要一個包含3個表格和2個內部連接的查詢。一個在我的SELECT語句中列名的包括空間(現有的數據庫),所以它看起來是這樣的:帶空格的列的別名?

SELECT tblCar.Purchase Price AS Price 

SQL不喜歡當然的空間。我嘗試了括號[tblCar.Purchase Price],單引號和雙引號"tblCar.Purchase Price",以及tblCar.[Purchase Price],但他們都沒有飛。

任何想法如何在此SELECT語句中用空格處理列名稱?

+1

[tblCar]。[採購價格]適用於MS SQL。 –

+0

它是SQL Server嗎?哪個版本? – MarcusVinicius

+0

我做了以下[SqlFiddle](http://sqlfiddle.com/#!3/55173/1)和'tblCar。[Purchase Price]'正常工作。 – MarcusVinicius

回答

0

將表名和列名放在括號[tblCar] [採購價格]中。將表名引入MS SQL Server中不起作用。

2

各單位必須在一個單獨的方括號,當你做這樣的事情:

[tblCar.Purchase Price] 

據認爲,這是完整的列名,而不是嘗試這個[tblCar] [購買價格]。檢查下面的鏈接瞭解詳情:

How do you deal with blank spaces in column names in SQL Server?

sql server:what do brackets mean around column name?

How can I reference a column with a space in the name?

其實你並不需要爲表名方括號,其僅適用於帶空間列名,所以這也將工作:

tblCar.[Purchase Price] 
1

在你的情況,如果你使用SQ L SERVER,你可以這樣做,將方括號中的名稱包裝起來。

它,但是,最好避免在名稱中如果有可能的空間

SELECT [tblCar].[Purchase Price] AS Price 

而且如果有人在MySQL得到這個problam比這可以通過適當引用列名來解決:

SELECT `tblCar.Purchase Price` AS Price 
0

在SQL Server 2008 R2中,tblCar。[Purchase Price]適合我。你正在使用哪個版本的SQL版本?