2012-10-04 23 views
0

是否有可能寫這個沒有別名的sql查詢?我正在使用不包含別名的PHP腳本,所以我遇到了問題。如何編寫沒有別名的sql查詢

如果可以,請給我提供一些幫助

這是代碼:

SELECT 
time1.Time, time2.Time, time1.Signal, v.name, v.lastname, k.vehicle, time1.Reg 
FROM 
data time1 
INNER JOIN data time2 
    ON time1.id != time2.id 
    AND time1.serial= time2.serial 
INNER JOIN drivers v 
    ON time1.FK_ID_driver=v.ID_driver 
INNER JOIN vehicles k 
    ON time1.Reg=k.Reg 

WHERE 
    TIMEDIFF(time2.Time, time1.Time) BETWEEN '00:15:00' AND '00:30:00'; 
+0

「不涵蓋別名」?因爲在你不能指定你想回到哪一列?佑。 –

回答

2

你不能輕易地實現你想要什麼,因爲要加入同一個表兩次, SQL需要一個別名來消除它們的歧義。

但是,您可以創建表data的視圖,並使用該視圖而不是data連接之一中的表名。

實施例:

select data.time, 
    vData.time, 
    data.Signal, 
    drivers.name, 
    drivers.lastname, 
    vehicles.vehicle, 
    data.Reg 
from data 
inner join vData on data.id != vData.id and data.serial = vData.serial 
inner join drivers on data.FK_ID_driver = drivers.ID_driver 
inner join vehicles on data.Reg = vehicles.Reg 
where TIMEDIFF(vData.time, data.time) between '00:15:00' and '00:30:00'; 
+0

你能舉個例子嗎?我會在查詢中始終轉發不同的值 –

+0

@denonth添加示例。 – RedFilter

+0

那麼如何創建視圖?或者這是完整的例子?我很抱歉,但我還沒有完成視圖 –