0

エイリアスなしでこのSQLクエリを書くことは可能ですか? エイリアスをカバーしない PHP スクリプトを使用しているため、問題があります。

これが可能であれば、私にいくつかの助けを提供してください

これはコードです:

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';
4

1 に答える 1

2

同じテーブルを 2 回結合しているため、目的を簡単に達成することはできず、SQL はそれらを明確にするためにエイリアスを必要とします。

ただし、 table のビューを作成し、結合dataの 1 つでテーブル名の代わりにビューを使用することはできます。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';
于 2012-10-04T20:39:51.460 に答える