Select 同一列中的多个列 table

Select multiple columns in same table

不知道这个问题对不对。

我有一个 table 有两个字段,贷方和借方。 我对每个字段求和,然后创建一个包含总余额的新列。 我创建了几个单独运行良好的查询 这是:

SELECT Sum(libromayor.debe) AS IngresosGlobal,
Sum(libromayor.haber) AS GastosGlobal,           
(Sum(libromayor.debe) - Sum(libromayor.haber)) AS TotalGlobal
FROM libromayor

还有这个:

SELECT Sum(libromayor.debe) AS IngresosActual,
Sum(libromayor.haber) AS GastosActual,
(Sum(libromayor.debe) - Sum(libromayor.haber)) AS TotalActual
FROM libromayor
WHERE Year(libromayor.fechaevento) = Year(CurDate()) 

我想要合并这两个查询,但在本例中将结果保留在 6 列中,而不是此查询尝试中的 3 列:

SELECT Sum(libromayor.debe) AS IngresosGlobal,
Sum(libromayor.haber) AS GastosGlobal,           
(Sum(libromayor.debe) - Sum(libromayor.haber)) AS TotalGlobal
FROM libromayor
UNION 
SELECT Sum(libromayor.debe) AS IngresosActual,
Sum(libromayor.haber) AS GastosActual,
(Sum(libromayor.debe) - Sum(libromayor.haber)) AS TotalActual
FROM libromayor
WHERE Year(libromayor.fechaevento) = Year(CurDate())  

给出的结果是这样的:

IngresosGlobal   GastosGlobal   TotalGlobal
1521.00            1575.00        -54.00
121.00              100.00         21.00

但我想创建一个给出此结果的视图

IngresosGlobal   GastosGlobal   TotalGlobal     IngresosActual     GastosActual     TotalActual
1521.00            1575.00        -54.00           121.00              100.00           21.00

你可以这样做:

SELECT Sum(libromayor.debe) AS IngresosGlobal,
sum(IF(ear(libromayor.fechaevento) = Year(CurDate()), libromayor.debe, 0)) AS IngresosGlobal2
FROM libromayor

P.S。只显示在一栏上,给你想法