1
을 정렬이 별명의 차이를 계산합니까 :어떻게 다음 코드를 고려
SELECT SUM(w.valor),
SUM(CASE WHEN w.tipo = '+' THEN w.valor ELSE 0 END) AS total_credit,
SUM(CASE WHEN w.tipo = '-' THEN w.valor ELSE 0 END) AS total_debit,
w.clientUNIQUE,
c.client as cclient
FROM wallet AS w
LEFT JOIN clients AS c ON w.clientUNIQUE = c.clientUNIQUE
WHERE w.status='V'
GROUP BY w.clientUNIQUE
ORDER BY total_credit-total_debit
나는 목적을 정렬이 개 별칭 계산 된 값의 차이를 계산하기 위해 노력하고있어,하지만 나는 다음을 받고 있어요 오류 :
Reference 'total_credit' not supported (reference to group function)
내가 뭘 잘못하고 두 별칭 사이의 차이 값을 사용하여 결과를 주문할 수 있습니까?
당신이 그런 별명을 사용할 수있을 때 곳 /에 제한이있다. 이것은 그들 중 하나입니다. 앨리어싱 된 표현식 전체를 'order by'에 복사해야합니다. 또는 이것에 대한 다른 쿼리를 감싸고 "메타"결과를 주문하십시오. –
앨리어스 된 표현식을 표현식에 따라 순서대로 복사하는 팁이 그것을 해결하는 올바른 방법이었습니다. 당신의 도움에 많은 감사드립니다. 나는 당신에게 그것을 신용하고 싶습니다만, 나는 이것이 주석 이었기 때문에 가능하지 않습니다. –
이것이 MySQL입니까? MySQL은 보통 'ORDER BY' 절에서 별명을 사용하는 데 문제가 없지만 MS SQL (오라클에 대해서는 확실하지 않음)에서 별명을 사용할 수 없으므로 표현식을 반복해야합니다. – Uueerdo