İlk posterle aynı sorunu yaşadım. Kullanım durumum şunlardı: Bir tablo, bir spor etkinliğinin Tarih ve Saatini içeriyordu. Farklı kaynaklardan bilgi aldığım için, veritabanının şemasını değiştirdim, bu yüzden spor etkinliğinin tarihi için zaman ve tarih (veya belki de tarih) için bir int değerine sahip oldum.
UPDATE Matches
SET StartTime= MatchTime.ThisMatchStartTime
FROM Matches AS M
INNER JOIN (SELECT CONVERT(int, CONVERT(varchar, DATEPART(Hour, MatchDate)) + RIGHT('00' + CONVERT(varchar, DATEPART(Minute, MatchDate)),2)) AS ThisMatchStartTime, MatchId
FROM [Matches]
WHERE SportTypeId=16) AS MatchTime ON M.MatchId=MatchTime.MatchId
WHERE StartTime > 2400
AND SportTypeId = 16;
Bazı açıklama:
Bu benim sorgu Sen alt sorgu SQL Server bir uyarı/hata alıyorum aksi farklı bir ad MatchStartTime vermek zorunda. Ayrıca MatchId'yi eklemek zorunda kaldım, bu yüzden doğru Eşleştirmeyi güncellediğimi biliyordum. SportTypeId, veritabanındaki farklı sporları ayırmak için kullanılır.
Bana doğru yönde işaret ettiğin için @astander'e teşekkürler. Onun haberi olmadan, bu çözümle sonuçlanmak için biraz daha uğraşırdım.
Trip_guid için sadece 1 şehirde poi garantilidir (ya da bunu sizin için halletmesini bekliyor musunuz)? –
En az 2 alıntı var. Buradaki fikir, tüm alıntıları bir alana yerleştirmektir. – itdebeloper
Örneğiniz Oracle'da çalışır. SQL Server için diğer cevaplar geçerlidir. – Monstieur