MySQL在where子句中选择查询,其中需要满足两个条件

时间:2015-03-29 11:39:25

标签: php mysql select where

当我决定解决这个问题时,这个问题似乎很简单,但事实证明这个问题非常困难。它涉及根据访问者从下拉列表中选择的内容显示“范围”细节。

下拉列表包含V01 N01,V01 N02等选项。 V =体积,N =数量。每卷中有20个数字,有50个卷。因此搜索下拉列表将包含V01 N01-V01 N20,V02 N01-V02 N20,依此类推至V50 N20。

如果访客想要在V08 N10和V12 N23之间显示所有书籍,我想显示从V08 N10到V12 N23的所有书籍。我的代码删除了选择,以便MySQL将收到VolumeNo = 8和IssueNo = 10.

但是,我想不出一个能做我想做的事情的SELECT语句。这是(简洁版):

  

SELECT * FROM tablename WHERE(VolumeNo> = 8且IssueNo> = 10)和(VolumeNo< = 12且IssueNo< = 23)

这显然不起作用,但我希望你能得到我在这里想要完成的事情的要点。我很感激提供任何指导。谢谢。

1 个答案:

答案 0 :(得分:1)

您需要使用OR代替And来处理这两个条件

SELECT * FROM tablename WHERE (VolumeNo >= 8 and IssueNo >= 10) OR (VolumeNo <= 12 and IssueNo <= 23)