是否将SQL查询结果与一个查询下的另一个查询语句组合?(复杂)
我目前想将两个SQL查询合并为一个查询。这有点像。假设有两个查询: SQL语句 1.选择* 从中选择B.example1 从例1a A.ID=B.ID上的内部联接示例1b B A.ABC='ABC' 由…订购 2.选择colstate 从示例_表 其中EFG类似“%” 而BGTHAN>='1' 和SMTHAN='1'是否将SQL查询结果与一个查询下的另一个查询语句组合?(复杂),sql,derby,Sql,Derby,我目前想将两个SQL查询合并为一个查询。这有点像。假设有两个查询: SQL语句 1.选择* 从中选择B.example1 从例1a A.ID=B.ID上的内部联接示例1b B A.ABC='ABC' 由…订购 2.选择colstate 从示例_表 其中EFG类似“%” 而BGTHAN>='1' 和SMTHAN='1' 并且SMTHAN错误表明,您正在使用的作为列语句的查询必须最多返回一行 它应该看起来像这样: SELECT (SELECT B.example1 FROM EX
并且SMTHAN错误表明,您正在使用的作为列语句的查询必须最多返回一行 它应该看起来像这样:
SELECT (SELECT B.example1
FROM EXAMPLE1A A
INNER JOIN EXAMPLE1B B
ON A.ID = B.ID
WHERE A.ABC ='ABC'
AND A.SOME_COLUMN = E.SOMECOLUMN // retrieve only relevant data for this row
ORDER BY A.ORDER_BY )
FROM EXAMPLE_TABLE E
WHERE EFG LIKE '%'
AND BGTHAN >= '1'
AND SMTHAN <= '100'
ORDER BY ORDER_BY ASC
将两个查询合并为一个查询-这不是一个好的规范。试着找出作为平面二维表您想要得到的确切内容,将嵌套选择视为嵌套循环,其中内部循环只能为父行设置一个值。像这样:
[Outer loop - parent row]
[Inner loop - children rows]
// all you can do here is change a single parent's field to anything
// like constant/sum/avg/topmost/ugly-subquery-returning-a-single-result
[/Inner loop]
[/Outer loop]
两个查询之间的关系是什么?i、 e.如果您从第一次查询中得到结果,为什么需要第二次查询?通过选择:选择。。。您应该获得单个值,而不是行集。您可以在内部select上获取最顶部、底部、平均值或任何其他聚合结果,但不能获取所有行。因为它们来自不同的表?第一个sql查询的结果是第二个sql查询中的表\列\名称。如选择[表\列\名称]…否。通常,选择是从每行中给我这个、这个和这个列的值。与第一个不同的是,您将返回超过1个值的内容放在内部查询中。不能将单个值与一组值相关联,每行每个字段只能包含1个值您使用的是哪个DBMS?神谕Postgres?是否可以先运行[outer loop parent],然后在一次执行中将结果传递给[Inner loop-children]?从内部循环中,您只能知道当前父级的行是什么-因此您可以在子查询中使用其值,如:select t1.field1,从表2中选择顶部1 t2.field1,其中t2.id=表1 t1中的t1.id。也许您需要交换内部和外部?EXAMPLEA和EXAMPLEB表中是否有colstate字段?我只是浏览一下您的idea+union,检查它是否是一个魔术…XD不,colstate只是一个随机名称,用于保存第一次查询的结果。。。