Dış uygulamamı kullandığım SQL sunucusunda bir sorgum var. Şimdi onu dönüştürmek istiyorum, böylece SQL Server ve MySQL de sorgu çalışabilir.SQL Server'da dış uygulama için alternatif yol
select top 5 v.sVehicleName as VehicleNo, ll.Location
from vehicles v
outer APPLY
(select top 1 Location
from location_history
where vehicle_id = v.vehicle_id) ll
Her iki veritabanında çalışabilmem için bu sorguyu gizlemek zorundayım.
Bu
tablo #vehicles oluşturmak benim tablolar (vehicle_id int, sVehicleName varchar (50)) 'dir
tablo #location_history (vehicle_id int, konum varchar (50), tarih datetime)
oluşturmak #vehicles içineuç değerleri
(1, 'M 14 aa 1111'),
(2 ', MH 12 bb 22 22 '),
(3' MH 13 cc 3333 '),
(4,' MH 42 dd 4444') #location_history değerleri
içine
ek parça (1, 'aaa', getdate()),
(1, 'bbb', getdate()),
(2, 'ccc', getdate()),
,
(3, 'eee', getdate()),
(3, 'fff', getdate()),
(2, getdate() 'ddd') (4, 'ggg', getdate()),
(4, 'hhh', getdate())
Bu benim SQL server yürütmek sorgusu olur. VehicleNo olarak
seçme v.sVehicleName, #vehicles dış
UYGULA V'den ll.Location
ll (burada vehicle_id = v.vehicle_id #location_history üst 1 Konum seçin)
Bu, SQL sunucusunda çıkar.
VehicleNo Yer
MH14 aa 1111 aaa
MH12 bb 2222 ccc
MH13 cc 3333 eee
MH42 dd 4444 ggg
Ben MySQL bu yürütmek isteyen. ve yukarıda belirtilen aynı çıktıyı istiyorum.
Tablo verilerinizi ve beklenen çıktınızı ekleyebilir misiniz? – bmsqldev
araç tablasında iki sütun vardır vehicle_id, location_history konumunda iki sütun vardır vehicle_id, konum, konum geçmişi tablosunda her araç için birden fazla giriş olabilir – suraj
Her bir araçta bulunan her araç için konum geçmişi tablosundan ilk kaydı istiyorum araçlar tablosu – suraj