Mysql 我可以使用“和”吗;在;在一个查询中?
我的查询有一些问题:Mysql 我可以使用“和”吗;在;在一个查询中?,mysql,Mysql,我的查询有一些问题: SELECT * FROM att WHERE uid = "f6c507fe-8928-4780-8b54-819611435755" AND item_position <> '99' AND category IN('CAT1','CAT2'); 选择 * 从…起 att 哪里 uid=“f6c507fe-8928-4780-8b54-819611435755” 及 项目_位置“99” 及 类别在('CAT1','
SELECT
*
FROM
att
WHERE
uid = "f6c507fe-8928-4780-8b54-819611435755"
AND
item_position <> '99'
AND
category IN('CAT1','CAT2');
选择
*
从…起
att
哪里
uid=“f6c507fe-8928-4780-8b54-819611435755”
及
项目_位置“99”
及
类别在('CAT1','CAT2');
结果什么都没有。当我删除“item_position'99'和”时,某些显示的项目。我认为问题在于。。。有些行具有类别“CAT1”和项目位置“99”。不应显示这些行
你好 他在评论中自己解决了这个问题,但他最终得到的结果是:
SELECT
*
FROM
att
WHERE
uid = "f6c507fe-8928-4780-8b54-819611435755"
AND
(item_position <> '99' OR item_position is NULL)
AND
category IN ('CAT1','CAT2');
选择
*
从…起
att
哪里
uid=“f6c507fe-8928-4780-8b54-819611435755”
及
(项目位置“99”或项目位置为空)
及
类别在('CAT1','CAT2');
他在评论中自己解决了这个问题,但他最终得到的结果是:
SELECT
*
FROM
att
WHERE
uid = "f6c507fe-8928-4780-8b54-819611435755"
AND
(item_position <> '99' OR item_position is NULL)
AND
category IN ('CAT1','CAT2');
选择
*
从…起
att
哪里
uid=“f6c507fe-8928-4780-8b54-819611435755”
及
(项目位置“99”或项目位置为空)
及
类别在('CAT1','CAT2');
试试:
选择
*
从…起
att
哪里
uid=“f6c507fe-8928-4780-8b54-819611435755”
及
(项目位置“99”或项目位置为空)
及
类别在('CAT1','CAT2');
您提到有些行是空的。我记得,令人恼火的空值,在逻辑上往往互相憎恨。试试:
选择
*
从…起
att
哪里
uid=“f6c507fe-8928-4780-8b54-819611435755”
及
(项目位置“99”或项目位置为空)
及
类别在('CAT1','CAT2');
您提到有些行是空的。我记得,空值令人恼火,而且在逻辑上往往互相憎恨。删除项目位置检查时,您能显示一些输出吗?听起来你所有的CAT1和CAT2数据都有item_position=99,但我肯定不是这样,否则你不会问的。也许看到一些数据会有所帮助。当您删除项目位置检查时,是否可以显示一些输出?听起来你所有的CAT1和CAT2数据都有item_position=99,但我肯定不是这样,否则你不会问的。也许看到一些数据会有所帮助。谢谢,但它不起作用。当我删除“和项目位置'99'”时,则显示的行。。。“项目位置”在许多行中为空。这就是问题所在吗?“item_position'99'”无法显示“item_position”为空的行这相当于askers原始查询。好的,很简单。。。项目位置“99”不显示项目位置为空的内容,请从附件中选择*,其中uid=“f6c507fe-8928-4780-8b54-819611435755”和(项目位置“99”或项目位置为空)以及('CAT1','CAT2')中的类别;谢谢你的帮助@poldixd NULL“99”应该为true,因此听起来很奇怪,但您可以尝试添加一个或项\ u位置为NULL。。只需检查..
NULL'99'
是NULL
,这实际上是FALSE
。谢谢,但它不起作用。当我删除“和项目位置'99'”时,则显示的行。。。“项目位置”在许多行中为空。这就是问题所在吗?“item_position'99'”无法显示“item_position”为空的行这相当于askers原始查询。好的,很简单。。。项目位置“99”不显示项目位置为空的内容,请从附件中选择*,其中uid=“f6c507fe-8928-4780-8b54-819611435755”和(项目位置“99”或项目位置为空)以及('CAT1','CAT2')中的类别;谢谢你的帮助@poldixd NULL“99”应该为true,因此听起来很奇怪,但您可以尝试添加一个或项\ u位置为NULL。。只需检查..NULL'99'
是否为NULL
,这实际上是FALSE
。您也可以使用NOT item\u position'99'
。spaceship操作符执行空安全比较。您也可以使用notitem\u position“99”
。宇宙飞船操作员执行空安全比较。