2014-02-18 58 views
0

我有三個表名爲locations,location1,bus。我想要在locations.id = bus.id上加入公共汽車位置,並且我想要與位置位於locations1.id = locations.id的位置1連接,下面是正確的語法嗎?只是列名MySql加入不工作

+0

你執行了查詢嗎? –

+3

什麼是錯誤? –

+0

它可能是,但如果日期是日期/時間vs只是日期,並且您沒有匹配的確切日期/時間可能是一個問題。此外,ID,一個bus.id到一個location.id?只要ID代表相同的事情,你可以,但如果bus.id代表巴士和locations.id代表一個位置,你不會得到你所期望的。 – DRapp

回答

1

Select儲備或*表示所有。

locations, locations1 

這不應該工作(如果你的意思是表格)。

你應該使用:

locations.*, location1.* 

雖然我會建議反對,並使用所需的表內具體列名。

例如:

locations.Field1, location.Field2, location1.OtherField1 
0

我認爲你必須選擇從表中的位置和locations1具體領域。

贊...只是一個例子...根據需要選擇更多的字段。或者,您可以使用*來選擇表中的所有字段。請記住,這將比如下指定的字段慢。

SELECT bus.id, bus.from_here, 
     bus.to_here, bus.ac, bus.fair, 
     bus.dates, locations.id, locations1.id 
FROM bus 
INNER JOIN locations ON locations.id = bus.id 
INNER JOIN locations1 ON locations1.id = locations.id 
WHERE bus.dates = '".$_SESSION['depart']."' 

再然後......如果只有1臺有這個字段名稱字段dates只會工作。爲了安全起見,使它成爲bus.dates。