我看遍了整个网络,也在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
我哪里错了?任何反馈将非常感谢!
问题通常是关于如何从多个表中选择值,然后将它们连接起来。但是,我只需要一个表中的值;但是,这些值需要响应它们共享的特定的多个值。
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或更多,我可能会使用in()
附加信息:您没有返回记录的原因是因为您在您的条件下使用AND
。请记住,一行中的每一列有且只有一个值。
尝试使用这个.....
如果你想在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