SQL Server 2000
使用20多个视图,所有视图都与table1(id和value1以及value2)进行内部连接
表1
ID Value1 Value2
001 100 null
001 200 null
001 300 null
001 400 null
001 200 null
或
ID Value1 Value2
001 null 100
001 null 200
001 null 300
001 null 400
001 null 200
表2
ID value1 value2
....
....
some data's
从表1中,value1或value2应始终为null。现在的问题是,如果value1或value2列为null,则输出显示为null,因为所有视图都是id为value1、value2的内部联接
我想使用条件进行内部联接,如果value1不为null,则使用value1进行内部联接;如果value2不为null,则使用value2进行内部联接
像这样查询
Select * from table2 inner join with table1 on tabel2.id = table1.id and if table1.value1 is null then table2.value2 = table1.value2 or
else table2.value1 = table1= value1 end if
如何对上述条件进行查询
需要SQL查询帮助
尝试此解决方案:
Select *
from table2
inner join table1 on (tabel2.id = table1.id
and table1.value1 is null
and table2.value2 = table1.value2)
or ( table2.value1 = table1.value1 )
您是否尝试过合并(值1、值2)?
是否需要以下工作?
SELECT * FROM table2
INNER JOIN WITH table1 ON table2.id = table1.id
AND (table1.value1 = table2.value1 OR table1.value1 IS NULL)
AND (table1.value2 = table2.value2 OR table1.value2 IS NULL)
我想如果你有一个大的数据集,这可能会很慢。。。
问题内容: 我想要一种改进我的sql代码的好方法,当条件满足时,我必须使用内部联接。我目前正在复制代码: 我想以这种方式做到这一点: 编辑: 解决方案(由于@Damien_The_Unbeliever): 问题答案: 这应该(大约)执行相同的操作: 当然,这还意味着必须编写对其中的列的任何其他引用,以期望此类列为。
我想使用Hibernate条件语言编写此查询。我对Hibernate很陌生,无法将此查询转换为条件形式。我参考了很多关于 SO 的答案,但就我而言,我在不同的列上使用内部连接而不是主键/外键列。我提到了这个,但仍然不能正确。
问题内容: 这有效: 这有效: 这适用于Oracle 11g,但不适用于10g(版本10.2.0): 除了Oracle版本(使用相同的转储创建基础),我看不出其他区别。由于我怀疑Oracle 10g中的错误,因此我接受与该问题明显相关的错误报告作为答案。 当然也可以接受直接的解决方案或解决方法。 问题答案: 我不会很快接受我自己的答案。 随时提交更精确的报告,尤其是当您从Oracle找到公开的错误
问题内容: 我试图在一个列上内部联接两个表。从数据库方面来看,没有映射,因为这是我不想讨论的。 我想使用INNER JOIN执行HQL查询并检索ROLE对象/结果。 到目前为止,这是我的总部 session.createQuery(“ ROLE作为角色,INNER JOIN INVOLVEMENT作为参与角色,id。X =参与.roleid WHERE参与.id = X”)。list(); 我看到
问题内容: 有没有一种方法可以使用VLOOKUP内部联接两个不同的Excel电子表格? 在SQL中,我可以这样进行: 工作表1: 工作表2: 结果将是: 如何在VLOOKUP中执行此操作?还是除了VLOOKUP之外还有更好的方法吗? 谢谢。 问题答案: 首先,让我们获取两个表中都存在的值的列表。如果您使用的是excel 2010或更高版本,则在工作表3 A2中输入以下公式: 如果您使用的是2007
问题内容: 有人可以验证内部连接对PL SQL中的UPDATE语句是否有效吗?例如 问题答案: 该synthax在Oracle SQL中不起作用。 在Oracle中,如果表是“键保留”的,则可以更新联接,即: 假设这是的主键,则此连接是可更新的,因为对于A的每一行,B 最多 只有一行,因此该更新是确定性的。 在您的情况下,由于更新后的值不依赖于另一个表,因此您可以使用具有EXIST条件的简单更新,