三个查询的结果分别动态到三个单独的列中
Result of three queries dynamically into three separate columns respectively
我想将这三个查询的结果分别动态地放入三个单独的列中。
SELECT SUM(fee_amt) as Total_Fee from FEEDTL where Semester_No='2015SM' AND Registration_No='2015-1234' AND Fee_type='TUITION FEE'
SELECT SUM(fee_amt) as Balance from FEEDTL where Semester_no='2015SM' AND Registration_No='2015-1235' AND Fee_type='TUITION FEE' and Verify='No'
SELECT SUM(fee_amt) as Paid_Amt from FEEDTL where Semester_no='2015SM' AND Registration_No='2015-1236' AND Fee_type='TUITION FEE' and Verify='Yes'
您可以将这些查询合并为一个查询。
公共条件可以留在 where 子句中,非公共条件可以移动到各自 sum
s 内的 case
表达式:
SELECT SUM(CASE registration_no WHEN '2015-1234' THEN fee_amt END) AS Total_Fee,
SUM(CASE WHEN registration_no = '2015-1235' AND verify = 'No'
THEN fee_amt END) AS Balance,
SUM(CASE WHEN registration_no = '2015-1236' AND verify = 'Yes
THEN fee_amt END) AS Pair_amt
FROM feedtl
WHERE semester_no = '2015SM' AND fee_type = 'TUITION FEE'
请注意 case
表达式 returns null
默认情况下(即,当不匹配 when
或 else
子句时,并且sum
只是忽略 null
s.
我想将这三个查询的结果分别动态地放入三个单独的列中。
SELECT SUM(fee_amt) as Total_Fee from FEEDTL where Semester_No='2015SM' AND Registration_No='2015-1234' AND Fee_type='TUITION FEE'
SELECT SUM(fee_amt) as Balance from FEEDTL where Semester_no='2015SM' AND Registration_No='2015-1235' AND Fee_type='TUITION FEE' and Verify='No'
SELECT SUM(fee_amt) as Paid_Amt from FEEDTL where Semester_no='2015SM' AND Registration_No='2015-1236' AND Fee_type='TUITION FEE' and Verify='Yes'
您可以将这些查询合并为一个查询。
公共条件可以留在 where 子句中,非公共条件可以移动到各自 sum
s 内的 case
表达式:
SELECT SUM(CASE registration_no WHEN '2015-1234' THEN fee_amt END) AS Total_Fee,
SUM(CASE WHEN registration_no = '2015-1235' AND verify = 'No'
THEN fee_amt END) AS Balance,
SUM(CASE WHEN registration_no = '2015-1236' AND verify = 'Yes
THEN fee_amt END) AS Pair_amt
FROM feedtl
WHERE semester_no = '2015SM' AND fee_type = 'TUITION FEE'
请注意 case
表达式 returns null
默认情况下(即,当不匹配 when
或 else
子句时,并且sum
只是忽略 null
s.