这是我的原始查询,它适用于针对同一数据库的pg_admin:
WITH myconstants (nb_pieces,nb_room,is_fiber) as (
values (0,0,true)
)
SELECT
pbuy.name, seller.name as seller_name, fiche.fiber
FROM
on_plan_buy pbuy
INNER JOIN
card_fiche fiche
ON pbuy.uuid = fiche.ad_uuid
INNER JOIN
on_plan_seller seller
ON pbuy.seller_id = seller.id
INNER JOIN
myconstants conste
ON true
WHERE pbuy.code_insee IN ('92108','75018')
AND pbuy.price <= 9999999 AND pbuy.price >= 0
AND CASE WHEN conste.is_fiber = false THEN true ELSE fiche.fiber = true END
LIMIT 100;
但是当我在golang中这样做时:
query = `
WITH myconstants (nb_pieces,nb_room,is_fiber) as (
values ($3,$4,$5)
)
SELECT
pbuy.name
FROM
` + tableOnPlan + ` pbuy
INNER JOIN
card_fiche fiche
ON pbuy.uuid = fiche.ad_uuid
INNER JOIN
myconstants conste
ON true
WHERE pbuy.code_insee IN ('` + strings.Join(gsm.CodeInsee, "','") + `')
AND pbuy.price <= $1 AND pbuy.price >= $2
AND CASE WHEN conste.is_fiber = false THEN true ELSE fiche.fiber = true END
LIMIT 100;
`
//AND CASE WHEN conste.nb_pieces = 0 THEN pbuy.piece > 0 ELSE pbuy.piece = conste.nb_pieces END
//AND CASE WHEN conste.nb_room = 0 THEN pbuy.chambre > 0 ELSE pbuy.chambre = conste.nb_room END
//AND CASE WHEN conste.is_fiber = false THEN true ELSE fiche.fiber = true END
fmt.Println(query)
err = db.Select(&response.Offers, query, gsm.PriceMax, gsm.PriceMin, gsm.NbRoom, gsm.NbChamber, gsm.Fiber)
吃鸡游戏
相关分类