相关疑难解决方法(0)

在Postgresql中的多个列上执行WHERE IN

我有一个表'answers',带有索引的'problem_id'整数列,'times_chosen'整数列和'option'列,它是一个varchar.目前,"选项"列的唯一值是"A","B","C"和"D",但稍后可能会扩展.当我知道每个问题的problem_id和选项时,我希望将许多(50-100)个答案的'times_chosen'值加1.

所以我需要一个类似的查询:

UPDATE answers
SET times_chosen = times_chosen + 1
WHERE (problem_id, option) IN ((4509, 'B'), (622, 'C'), (1066, 'D'), (4059, 'A'), (4740, 'A')...)
Run Code Online (Sandbox Code Playgroud)

这可能吗?

sql postgresql

27
推荐指数
3
解决办法
2万
查看次数

"Where IN"是否在标准SQL中定义了多个列?

我正在处理这样的查询:

SELECT * FROM requests where (id,langid) IN (SELECT nid,langid FROM node)
Run Code Online (Sandbox Code Playgroud)

我的问题是

  • 这在mysql和postgresql中有效吗?
  • 这是标准SQL支持的东西吗?

    我知道这不是最好的解决方案,JOIN会起作用,但我对此并不感兴趣.

  • mysql sql postgresql

    13
    推荐指数
    3
    解决办法
    5670
    查看次数

    标签 统计

    postgresql ×2

    sql ×2

    mysql ×1