我已经浏览了整个Web,并且在StackOverflow中也找到了很多类似的主题,但没有一个能够满足我的需求。所以我把它发送到那里,因为我知道可能有一些小东西让我无法工作。
让我们想象下表:
location | title | description | quantity
============|===========|=============|==========
shelf | apple | red | 2
drawer | banana | yellow | 4
shelf | kiwi | green | 2
cupboard | lemon | yellow | 1
fridge | melon | orange | 3
drawer | peach | orange | 1
我想要做的是从此表格中选择drawer
或shelf
上的所有项目(所以drawer
和shelf
)然后订购例如,它们首先是位置上升,第二是数量下降。
所以我所拥有的(在网上搜索之后)是以下代码,这是唯一一个不返回错误的代码,但它也不返回任何项目:
SELECT * FROM items WHERE location = 'shelf' AND location = 'drawer' ORDER BY location ASC, quantity DESC
我哪里错了?任何反馈将不胜感激!
通常问题是如何从多个表中选择值然后加入它们。但是,我只需要一张表中的值;但是,这些值需要响应它们共享的特定多个值。
答案 0 :(得分:5)
SELECT * FROM items WHERE location = 'shelf' or location = 'drawer'
ORDER BY location ASC, quantity DESC
或
SELECT * FROM items WHERE location in ('shelf','drawer')
ORDER BY location ASC, quantity DESC
虽然只有两个项目,我可能会选择第一个,3个或更多,我可能会使用()
其他信息:您没有收到任何记录的原因是您在条件中使用AND
。请记住,一行中每列都只有一个值。
答案 1 :(得分:2)
尝试使用这个......
如果您想在php中使用它,您可以修改我的代码并将其替换为您的代码。当我开发这个时,我遇到了类似的问题:
$data = mysql_query("SELECT * FROM cancer WHERE Age ='1'OR Age = '2' OR Age = '3'OR Age = '4'OR Age = '5'OR Age = '6'OR Age = '7'OR Age = '8'OR Age = '9'")
如果是sql,请使用:
SELECT * FROM items WHERE location = 'shelf' or location = 'drawer'
ORDER BY location ASC, quantity DESC