我遇到了由于某种原因无法解决的问题。我正在尝试编写一个连接两个表的查询,其中在一个表中可能找不到匹配项。如:
SELECT
Table1.IDField, Table2.IDField
FROM
Table1
LEFT OUTER JOIN
Table2 ON Table1.PersonID = Table2.PersonID
WHERE
(Table1.IDField = '12345')
AND (Table2.Category = 'Foo')
如果中没有匹配项Table2
,则不返回任何内容。但是,如果没有匹配项,我仍然需要为该列返回NULL,并且仍从返回值Table1
。
我已经改变了JOIN
所有我能想到的,但无济于事。
Table2.Category
可以包含多个其他值,因此OR IS NULL
无法进行某种交易。
因此,如果没有匹配Table2.Category = 'Foo'
,我仍然需要它返回:
Table1 | Table2
----------------
12345 | NULL
有什么建议?
将for的条件table2
移出WHERE
子句并移至您的JOIN
。
SELECT
Table1.IDField, Table2.IDField
FROM
Table1
LEFT OUTER JOIN Table2
ON Table1.PersonID = Table2.PersonID
AND Table2.Category = 'Foo'
WHERE
Table1.IDField = '12345'
我在一个更大的脚本中有一段代码,它只是根据匹配将值分配给“i”。这个想法是,如果找到输入的值,我希望它给出匹配值,如果没有,则为0。如果它是0,我可以然后退出子消息给用户。然而,任何时候匹配找到一个空值,它只是杀死子,而不是作为我介绍的iferror的一部分来处理。我尝试过各种检查方式(例如使用iif(isfalse)),但似乎都不起作用。 导致问题的代码如下所示: 我是一个模糊的整数 用户名是一
示例代码:
我正在玩mongob,并将一些测试数据{name:"david"}输入到“用户”集合中。我通过键入mongoshell验证了数据在MongoDB中 结果: 在 node.js 脚本中,使用以下代码: 不返回任何结果 我没有发现任何错误,也没有错误。请告知
我有下面的SQL查询,我在flink工作中使用。< code>mysql_table是使用JDBC连接器创建的,而< code>kafa_source表是从传入的kafka流创建的。 我在两者之间执行时态连接,当我在Flink的sql-client CLI中检查时,运行良好(用< code>flink-faker测试)。内部查询工作得非常好,并且正在打印结果。有人能帮助我找出这个问题吗? 编辑:我
在我的弹性搜索数据库中插入6条记录后,我正在尝试一个弹性搜索示例。
当我控制台下面的两个数组是如何看 在两个数组中,349都是匹配的,匹配后应返回1。下面是我如何尝试的 它不匹配任何人都能给出解决方案!!!!