where 子句中的多个 PK

Mutiple PK's in where clause

在我的 table 中,我有 (LocID) 这是我的 PK,我试图将它缩小到特定的 4,但是当我 运行 下面的查询时,我只得到一个答案。此查询中需要修复什么?

-- second we find out the name of the locations 

select name from location where locid = 524 and 512 and 505 and 506 ; 

您打算编写的查询最好用 WHERE IN:

表示
select name from location where locid = in (524, 512, 505, 506);

您当前查询中实际发生的情况是 RHS 上的 初始值 (524) 上的 locid 值被解释为字面上的真实。因此,您的查询与此相同:

select name from location where locid = 524 and true and true and true;

这当然是一样的:

select name from location where locid = 524;

也就是说,您只会从匹配 524.

中获取记录