所以我正在为一家餐馆建立一个小型数据库,我正在尝试为他们设置一个界面,以便能够选择某些标准并查看他们有多少库存。例如,如果他们选择“肉”,将列出所有不同类型的肉。当我只查询一种类型的肉时,这样可以正常工作:
SELECT a.name, b.type, a.cost, a.end, a.url
FROM items a, type b
WHERE b.type = a.type
AND b.type="beef";
我为该查询得到的结果将列出正确的元素数量等等。
示例结果:
但是,如果我添加一个“OR”子句来尝试调用库存中的每种类型的肉,例如:
SELECT a.name, b.type, a.cost, a.end, a.url
FROM items a, type b
WHERE b.type = a.type
AND b.type="beef"
OR b.type="poultry";
前几个结果将是正确的但随后会添加不符合任何标准的随机元素,甚至更改某些元素以使它们不匹配,例如它会将香蕉标记为家禽或什么!我不知道它为什么这样做。它还将重复一整吨物品。
Sample results from addition of "or" clause: http://puu.sh/dj5aq/ea7876fb33.png
知道我做错了什么?
如果您需要更多信息,请告诉我,我不确定这是否足够。