返回具有不同条件的行

时间:2014-01-08 18:35:30

标签: mysql sql

对这个最容易解决的问题提出了很大的挑战,希望有人可以帮助我,非常感谢你!

我有一个带有字段(A,B,C,D,E,F和G)的MySql表和下面的示例数据;

A | B | C | D | E | F | G

1 | 0 | 0 | K | M | V | ķ

0 | 1 | 0 | H | L | P | ž

0 | 0 | 1 | G | W | Y | X

我想创建一个SQL -query,它的工作原理如下:

如果A为1,则返回字段A和D

OR

如果B为1则返回字段B和F

OR

如果C为1,则返回字段C和E

因此查询的输出将是这样的;

A | B | C | D | E | ˚F

1 | | | K | |

| 1 | | | | P |

| | 1 | | W |

这可能吗?

非常感谢您的帮助,谢谢。

亲切的问候,

JH

1 个答案:

答案 0 :(得分:1)

这会有用吗?

SELECT
 CASE WHEN A = 1 THEN A ELSE NULL END AS A,
 CASE WHEN B = 1 THEN B ELSE NULL END AS B,
 CASE WHEN C = 1 THEN C ELSE NULL END AS C,
 CASE WHEN A = 1 THEN D ELSE NULL END AS D,
 CASE WHEN C = 1 THEN E ELSE NULL END AS E,
 CASE WHEN B = 1 THEN F ELSE NULL END AS F

FROM YourTable
相关问题