在mysql中加入3个字段
我有一个使用uin的sql查询在mysql中加入3个字段,mysql,sql,union,Mysql,Sql,Union,我有一个使用uin的sql查询 SELECT Sum(scores_ofexpert.score) FROM scores_ofexpert WHERE scores_ofexpert.user_id = '30' AND scores_ofexpert.score > '0' UNION SELECT Sum(scores_ofexpert.score) FROM scores_ofexpert WHERE scores_ofexpert.user
SELECT Sum(scores_ofexpert.score) FROM scores_ofexpert
WHERE scores_ofexpert.user_id = '30' AND scores_ofexpert.score > '0'
UNION
SELECT Sum(scores_ofexpert.score) FROM scores_ofexpert
WHERE scores_ofexpert.user_id = '30' AND scores_ofexpert.score < '0'
UNION
SELECT Sum(scores_ofexpert.score) FROM scores_ofexpert
WHERE scores_ofexpert.user_id = '30'
但我希望结果是这样的
-------------------------------------
|n_sum |p_sum |sum |
-------------------------------------
|-10 |30 |20 |
-------------------------------------
如何做到这一点?您可以使用CASE
您可以使用这个用例
您可以使用这个用例
您可以使用这个用例
这是另一个答案
SELECT
( SELECT Sum(scores_ofexpert.score)
FROM scores_ofexpert
WHERE
scores_ofexpert.user_id = '30' AND
scores_ofexpert.score > '0'
) p_sum,
( SELECT
Sum(scores_ofexpert.score)
FROM
scores_ofexpert
WHERE
scores_ofexpert.user_id = '30' AND
scores_ofexpert.score < '0'
) n_sum,
( SELECT
Sum(scores_ofexpert.score)
FROM
scores_ofexpert
WHERE
scores_ofexpert.user_id = '30'
) sum_all
这是另一个答案
SELECT
( SELECT Sum(scores_ofexpert.score)
FROM scores_ofexpert
WHERE
scores_ofexpert.user_id = '30' AND
scores_ofexpert.score > '0'
) p_sum,
( SELECT
Sum(scores_ofexpert.score)
FROM
scores_ofexpert
WHERE
scores_ofexpert.user_id = '30' AND
scores_ofexpert.score < '0'
) n_sum,
( SELECT
Sum(scores_ofexpert.score)
FROM
scores_ofexpert
WHERE
scores_ofexpert.user_id = '30'
) sum_all
这是另一个答案
SELECT
( SELECT Sum(scores_ofexpert.score)
FROM scores_ofexpert
WHERE
scores_ofexpert.user_id = '30' AND
scores_ofexpert.score > '0'
) p_sum,
( SELECT
Sum(scores_ofexpert.score)
FROM
scores_ofexpert
WHERE
scores_ofexpert.user_id = '30' AND
scores_ofexpert.score < '0'
) n_sum,
( SELECT
Sum(scores_ofexpert.score)
FROM
scores_ofexpert
WHERE
scores_ofexpert.user_id = '30'
) sum_all
这是另一个答案
SELECT
( SELECT Sum(scores_ofexpert.score)
FROM scores_ofexpert
WHERE
scores_ofexpert.user_id = '30' AND
scores_ofexpert.score > '0'
) p_sum,
( SELECT
Sum(scores_ofexpert.score)
FROM
scores_ofexpert
WHERE
scores_ofexpert.user_id = '30' AND
scores_ofexpert.score < '0'
) n_sum,
( SELECT
Sum(scores_ofexpert.score)
FROM
scores_ofexpert
WHERE
scores_ofexpert.user_id = '30'
) sum_all
您需要学习何时使用UNION太快提示:它比普通UNION快。您需要学习何时使用UNION太快提示:它比普通UNION快。您需要学习何时使用UNION太快提示:它比普通UNION快。您需要学习何时使用UNION太快提示:它比普通UNION快。它对sql Server很有用对sql server有用它对sql server有用它对sql server有用