合并sql查询
我只想在一条语句中编写这段代码,但我需要在4个不同的列中编写合并sql查询,sql,select,Sql,Select,我只想在一条语句中编写这段代码,但我需要在4个不同的列中编写 SELECT a017tkahwin AS klaki FROM a017 WHERE a017tkahwin='K' AND a017kjantina='L' SELECT a017tkahwin AS blaki FROM a017 WHERE a017tkahwin='B' AND a017kjantina='L' SELECT a017tkahwin AS kpuan FROM a017 WHERE a017tkahwin='
SELECT a017tkahwin AS klaki FROM a017 WHERE a017tkahwin='K' AND a017kjantina='L'
SELECT a017tkahwin AS blaki FROM a017 WHERE a017tkahwin='B' AND a017kjantina='L'
SELECT a017tkahwin AS kpuan FROM a017 WHERE a017tkahwin='K' AND a017kjantina='P'
SELECT a017tkahwin AS bpuan FROM a017 WHERE a017tkahwin='B' AND a017kjantina='P'
对于sql-server2012+使用IIF或用例
SELECT
iif(a017tkahwin = 'K' and a017kjantina = 'L',a017tkahwin,null) AS klaki,
iif(a017tkahwin = 'B' and a017kjantina = 'L',a017tkahwin,null) AS blaki,
iif(a017tkahwin = 'K' and a017kjantina = 'P',a017tkahwin,null) AS kpuan,
iif(a017tkahwin = 'B' and a017kjantina = 'P',a017tkahwin,null) AS bpuan
FROM a017 WHERE a017tkahwin IN ('K','B') AND a017kjantina in ('L','P')
你能试试这样的东西吗:
select (SELECT a017tkahwin FROM a017 WHERE a017tkahwin='K' AND
a017kjantina='L') as klaki , ( SELECT a017tkahwin FROM a017 WHERE
a017tkahwin='B' AND a017kjantina='L' ) AS blaki , (SELECT a017tkahwin FROM
a017 WHERE a017tkahwin='K' AND a017kjantina='P' ) AS kpuan , (SELECT
a017tkahwin FROM a017 WHERE a017tkahwin='B' AND a017kjantina='P') AS bpuan
对于oracle DB,您最终需要添加dual。哪种sql,哪种引擎?您的问题没有任何意义。如果一条语句返回更多行怎么办?即使它们都返回相同数量的行,您在什么基础上将它们合并到一个语句中?