两部分问题...(请注意,我使用的是 PostGres(
我的 SQL 查询的格式如下:
$.ajax({
url: "https://something?q=SELECT *database_final_form_merge where territory in ("+terrs+")",
type: 'GET',
dataType: 'JSON',
success: function(data) {
}
});
变量 terrs
是如下所示的数组:
["D1VE3011", "D1VE3011", "D1VD2209", "D1VD2209", "D1VD2103", "D1VD2103"]
不过,这会像这样格式化 SQL 查询:
SELECT* from database_final_form_merge where territory IN (D1VE3011,D1VE3011,D1VD2209,D1VD2209,D1VD2103,D1VD2103)
但它需要采用这种格式(我认为(:
SELECT* from database_final_form_merge where territory IN ('D1VE3011','D1VE3011','D1VD2209','D1VD2209','D1VD2103','D1VD2103')
当我在没有 AJAX GET 的情况下直接尝试它时,这有效。我应该通过不同的方式传递这个数组吗?
这是问题1。
问题 2...有没有办法传递该数组以便只传递唯一值?您会注意到在我的数组中有重复项,但想知道是否有一种方法可以只传递唯一值。
谢谢。
让我们把
传递查询作为参数放在一边,进入问题。
对于问题 2,您可以使用jQuery.unique
对于前一个问题:
"('" + terrs.join("','") + "')"
生成('D1VE3011','D1VE3011','D1VD2209','D1VD2209','D1VD2103','D1VD2103')
零件。
不过要注意空白。你最终可能会得到这样的字符串
'(' D1VD2209',' D1VD2103','D1VD2103 ')
*相应编辑