gpt4 book ai didi

IN 子句中的 SQL 多列

转载 作者:行者123 更新时间:2023-12-03 08:32:49 28 4
gpt4 key购买 nike

如果我们需要根据给定列的某些值集查询表,我们可以简单地使用 IN 子句。

但是如果需要基于多列执行查询,我们不能使用 IN 子句(在 SO 线程中 grepped)。

从其他 SO 线程,我们可以使用连接或存在子句等来规避这个问题。但是如果主表和搜索数据都在数据库中,它们都可以工作。

E.g
User table:
firstName, lastName, City

给定一个 (firstname, lastName) 元组列表,我需要获取城市。

我可以想到以下解决方案。

1

构建一个选择查询,如,
SELECT city from user where (firstName=x and lastName=y) or (firstName=a and lastName=b) or .....

2

将所有 firstName、lastName 值上传到临时表中,并在“用户”表和新临时表之间执行连接。

是否有解决此问题的任何选项?一般而言,解决此问题的首选方法是什么?

最佳答案

你可以这样做:

SELECT city FROM user WHERE (firstName, lastName) IN (('a', 'b'), ('c', 'd'));

The sqlfiddle .

关于IN 子句中的 SQL 多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13027708/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com