mysql带联接表的多查询并将结果合并到一行
我一直在努力解决这个mysql查询。我想要达到的是,结果变成只有一行。当前,此查询输出的2行和列中的某些字段为空。如何使其仅输出1行,如下所示:mysql带联接表的多查询并将结果合并到一行,mysql,join,Mysql,Join,我一直在努力解决这个mysql查询。我想要达到的是,结果变成只有一行。当前,此查询输出的2行和列中的某些字段为空。如何使其仅输出1行,如下所示: SELECT save AS 'Simpanan', owe AS 'Hutang' FROM ( SELECT t.amount AS save, NULL AS owe FROM trans t JOIN category cat ON t.category_id = cat.category_id WHERE cat.category_id =
SELECT save AS 'Simpanan', owe AS 'Hutang'
FROM
(
SELECT t.amount AS save, NULL AS owe
FROM trans t JOIN category cat
ON t.category_id = cat.category_id
WHERE cat.category_id = 1
UNION ALL
SELECT NULL AS save, t.amount AS owe
FROM trans t JOIN category cat
ON t.category_id = cat.category_id
WHERE cat.category_id = 2
)
看看这里:如果您确定只有一个结果,请使用子查询
Simpanan Hutang
500 200
或:
谢谢,这就是我在几个小时前试图达到的目的:)谢谢你的第二个答案。我认为我之前的问题完全没有用<代码>最大值ftw!
SELECT
(SELECT t.amount AS save
FROM trans t JOIN category cat
ON t.category_id = cat.category_id
WHERE cat.category_id = 1) AS 'Simpanan',
(SELECT t.amount AS owe
FROM trans t JOIN category cat
ON t.category_id = cat.category_id
WHERE cat.category_id = 2) AS 'Hutang'
SELECT MAX(save) AS 'Simpanan', MAX(owe) AS 'Hutang'
FROM
(
SELECT t.amount AS save, NULL AS owe
FROM trans t JOIN category cat
ON t.category_id = cat.category_id
WHERE cat.category_id = 1
UNION ALL
SELECT NULL AS save, t.amount AS owe
FROM trans t JOIN category cat
ON t.category_id = cat.category_id
WHERE cat.category_id = 2
)