【发布时间】:2013-05-19 16:10:39
【问题描述】:
我对带有in 运算符的select 语句查询有疑问。也就是说,如果我需要根据它们的到期编号获取多个 po 值。如果我这样做,
select * from table1 where pono in('82200388180','82200388179') and dueno in('001','004')
然后就可以了。但我需要向你澄清一点。假设如果我这样给予,
select * from table1 where pono in('82200388180','82200388179') and Dueno ('001','004')
(一个 PO 可以有多个到期编号。没有什么是唯一的)
它是如何工作的?无论 1. 它返回由于没有 001 可用的行 要么 2.返回pono=82200388180对应的行,dueno=001。
我需要得到类似选项 2 的答案。请指导我
提前致谢。
【问题讨论】:
-
如果我理解正确,您想删除
pono可以是1 and 2但dueno 应该等于001的记录? -
我不确定你到底要什么。第二个查询看起来很好。即使数字都相同,它仍然应该工作 - 它仍然只会从 table1 返回具有给定 dueno 集的行(即使该集只包含“001”)
-
举一个你想要的输入输出的例子。你的问题不清楚。
-
pono和dueno有什么关系?一个 pono 对应于单个 Dueno(即一对一映射)还是一对多?请澄清
-
这是什么 DBMS? (甲骨文、MySQL、SQL Server ...)
标签: sql