Coba ini sebagai gantinya pada akhirnya:
exec (@query)
Jika Anda tidak memiliki tanda kurung, SQL Server mengasumsikan nilai variabel sebagai nama prosedur tersimpan.
ATAU
EXECUTE sp_executesql @query
Dan seharusnya bukan karena FULL JOIN.
Tapi saya harap Anda sudah membuat tabel temp:#TrafficFinal, #TrafficFinal2, #TrafficFinal3 sebelum ini.
Harap dicatat bahwa ada pertimbangan kinerja antara menggunakan EXEC dan sp_executesql. Karena sp_executesql menggunakan caching pernyataan paksa seperti sp.
Lebih detail di sini
.
Pada catatan lain, apakah ada alasan mengapa Anda menggunakan sql dinamis untuk kasus ini, ketika Anda dapat menggunakan kueri apa adanya, mengingat Anda tidak melakukan manipulasi kueri dan menjalankannya seperti apa adanya?