需要结合SQL查询的帮助吗
=需要结合SQL查询的帮助吗,sql,pervasive,Sql,Pervasive,= 我该怎么做?我尝试将第二个查询作为嵌套的select放在顶部,但无法使其工作。两个结果集共享相同的col1值,它们是唯一的,所以我想它们需要在这一点上连接起来?最后,person是每次运行查询时查询都会不同的地方。您可以尝试在col1上使用内部联接 col1 col4 person cost 001 abc Zeus 23462 002 abc
我该怎么做?我尝试将第二个查询作为嵌套的select放在顶部,但无法使其工作。两个结果集共享相同的
col1
值,它们是唯一的,所以我想它们需要在这一点上连接起来?最后,person
是每次运行查询时查询都会不同的地方。您可以尝试在col1上使用内部联接
col1 col4 person cost
001 abc Zeus 23462
002 abc Zeus 25215
003 xyz Zeus 92381
004 xyz Zeus 29171
选择tableA.col1、tableA.col2、左侧(tableB.col3、4)作为人员、tableC.col1、SUM(tableC.col2)作为成本
从表格
左连接打开的tableB(tableB.col1=tableA.col1和tableB.col2=tableA.col2)
内部联接表C ON(表A.col1=表C.col1)
其中tableA.col3='000000'
表A.col4“
人=‘宙斯’
按表A.col4、人、表C.col1、表C.col3分组;
按表A.col1、表A.col4 ASC排序;
您可以尝试在col1上使用内部联接
col1 col4 person cost
001 abc Zeus 23462
002 abc Zeus 25215
003 xyz Zeus 92381
004 xyz Zeus 29171
选择tableA.col1、tableA.col2、左侧(tableB.col3、4)作为人员、tableC.col1、SUM(tableC.col2)作为成本
从表格
左连接打开的tableB(tableB.col1=tableA.col1和tableB.col2=tableA.col2)
内部联接表C ON(表A.col1=表C.col1)
其中tableA.col3='000000'
表A.col4“
人=‘宙斯’
按表A.col4、人、表C.col1、表C.col3分组;
按表A.col1、表A.col4 ASC排序;
如果不希望组合查询,可以为查询设置别名,如此查询
SELECT tableA.col1, tableA.col2, LEFT(tableB.col3, 4) as person, tableC.col1, SUM(tableC.col2) as cost
FROM tableA
LEFT JOIN tableB ON ( tableB.col1 = tableA.col1 AND tableB.col2 = tableA.col2)
INNER JOIN tableC ON ( tableA.col1 = tableC.col1)
WHERE tableA.col3 = '000000'
AND tableA.col4 <> ''
AND person = 'Zeus'
GROUP BY tableA.col4, person, tableC.col1, tableC.col3;
ORDER BY tableA.col1, tableA.col4 ASC;
您的选择结果在表1中,因此您可以为问题中的其他选择设置别名
select * from example ... as table1;
现在,您可以在问题的表1和表中使用join或其他命令
SELECT
tableC.col1,
SUM(tableC.col2) as cost
FROM tableC
WHERE tableC.col3 = 'L'
GROUP BY tableC.col1, tableC.col3 as table2
如果不希望组合查询,可以像此查询一样为查询设置别名
SELECT tableA.col1, tableA.col2, LEFT(tableB.col3, 4) as person, tableC.col1, SUM(tableC.col2) as cost
FROM tableA
LEFT JOIN tableB ON ( tableB.col1 = tableA.col1 AND tableB.col2 = tableA.col2)
INNER JOIN tableC ON ( tableA.col1 = tableC.col1)
WHERE tableA.col3 = '000000'
AND tableA.col4 <> ''
AND person = 'Zeus'
GROUP BY tableA.col4, person, tableC.col1, tableC.col3;
ORDER BY tableA.col1, tableA.col4 ASC;
您的选择结果在表1中,因此您可以为问题中的其他选择设置别名
select * from example ... as table1;
现在,您可以在问题的表1和表中使用join或其他命令
SELECT
tableC.col1,
SUM(tableC.col2) as cost
FROM tableC
WHERE tableC.col3 = 'L'
GROUP BY tableC.col1, tableC.col3 as table2
我从来不知道你可以在查询中设置别名!在不久的将来,这将非常有帮助。非常感谢。我从来不知道你可以在查询中设置别名!在不久的将来,这将非常有帮助。多谢各位。