2017-06-30 30 views
0

使用sequelize.query,我正在執行使用STUFF()函數的查詢,後者執行包含「for xml path('')」的子查詢。其目的是返回單個字符串值,該值是子查詢返回的值的串聯。用於xml路徑錯誤的續集/繁瑣的MS SQL

該查詢經過測試,在MS SQL Server Management Studio中完美運行。但是,Sequelize返回「關鍵字附近的語法錯誤」,因爲它看起來很乏味,試圖解析查詢並決定不喜歡它。

任何人都會遇到這種情況,或者可以提出解決方案?

+0

看看這裏討論的幾個選項:https://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in-transact-sql/ –

+0

一個很好的總結可能的方法,其中包括我正在嘗試使用的FOR XML解決方案 - 這顯然是最簡潔和簡單的解決方案。 雖然如此,我的查詢在SQL Server本身中工作正常,並且完全返回我想要的結果。問題是Sequelize和/或Tedious圖書館由於某種原因拒絕它,我希望解決這個問題,以便它可以在我的應用程序中使用。謝謝。 –

+0

T-SQL「for xml path」語法對於該變體的SQL是唯一的。您想要使用的庫很可能不會識別或允許該語法。 –

回答

0

這已解決。

原來我在生成SQL的JavaScript中遇到了問題。錯誤信息導致我錯誤的方向,但我終於明白了。應該是這樣的,Sequelize/Tedious庫實際上並沒有干擾傳遞給它們的原始SQL。