查询表的一个城镇的两列
Posted
技术标签:
【中文标题】查询表的一个城镇的两列【英文标题】:Querying on both columns in one town of a table 【发布时间】:2018-04-28 23:20:34 【问题描述】:我脑子里有什么应该做的简单的事情,但似乎找不到答案。
客户给了我一份清单
例如name timestamp
我想将它们放在一个临时表中,然后依次查询它们,例如
select reading where reading_table
where name = t.c1 row1 and timestamp =t.c2 row1
然后循环表格中的每个条目
我可以将客户端文件中的每个条目硬编码为选择项,但我认为应该有更好的方法,因为在硬编码时格式化是一个问题,并且可能找不到其中一些行。
例如
select reading where reading_table
where name = row1 name and timestamp = row1 timestamp
select reading where reading_table
where name = row2 name and timestamp = row2 timestamp
。 . .
select reading where reading_table
where name = lastrow name and timestamp = lastrow timestamp
如果只是一列,我只会使用 IN,但不确定 2 列是什么。
【问题讨论】:
【参考方案1】:通常您应该使用JOIN
运算符。但无论如何你都非常接近:
如果它只是一列,我只会使用 IN,但不确定 2 列是做什么的。
IN
支持多列。
SELECT reading
FROM reading_table
WHERE (name, timestamp) IN (SELECT name, timestamp FROM client);
警告!这只有在两列都定义为NOT NULL
时才有效。
【讨论】:
以上是关于查询表的一个城镇的两列的主要内容,如果未能解决你的问题,请参考以下文章