Mysql 如何将2个数据库结果合并到一列中

Mysql 如何将2个数据库结果合并到一列中,mysql,sql,Mysql,Sql,我有以下两栏: A | B ---|--- 7 | 1 7 | 2 3 | 7 4 | 5 ------- 我想得到包含(1,2,3)的1列。 目前我正在查询: SELECT `A` , `B` FROM `mytable` WHERE `A` =7 OR `B` =7 但我得到了两列,A和B两边都有数字7 我肯定有办法得到我想要的,但我不知道如何用谷歌搜索 不太确定您需要什么,但我猜是这样的: SELECT A FROM mytable WHERE B=7

我有以下两栏:

A  |  B
---|---
7  |  1
7  |  2
3  |  7
4  |  5
-------
我想得到包含(1,2,3)的1列。

目前我正在查询:

SELECT  `A` ,  `B` 
FROM  `mytable` 
WHERE  `A` =7
OR  `B` =7
但我得到了两列,A和B两边都有数字7


我肯定有办法得到我想要的,但我不知道如何用谷歌搜索

不太确定您需要什么,但我猜是这样的:

SELECT A FROM mytable WHERE B=7
UNION
SELECT B FROM mytable WHERE A=7

我不确定你需要什么,但我猜是这样的:

SELECT A FROM mytable WHERE B=7
UNION
SELECT B FROM mytable WHERE A=7
你可以用这个:

SELECT
  case when A=7 then B else A end
FROM
  yourtable
WHERE
  7 IN (A, B)
SELECT
  GROUP_CONCAT(case when A=7 then B else A end
               ORDER BY case when A=7 then B else A end)
FROM
  yourtable
WHERE 7 IN (A, B)
如果需要单列,可以使用以下选项:

SELECT
  case when A=7 then B else A end
FROM
  yourtable
WHERE
  7 IN (A, B)
SELECT
  GROUP_CONCAT(case when A=7 then B else A end
               ORDER BY case when A=7 then B else A end)
FROM
  yourtable
WHERE 7 IN (A, B)
看小提琴

如果A和B的值可以同时为7,并且您希望跳过该行,则可以替换为:

WHERE 7 IN (A, B)

你可以用这个:

SELECT
  case when A=7 then B else A end
FROM
  yourtable
WHERE
  7 IN (A, B)
SELECT
  GROUP_CONCAT(case when A=7 then B else A end
               ORDER BY case when A=7 then B else A end)
FROM
  yourtable
WHERE 7 IN (A, B)
如果需要单列,可以使用以下选项:

SELECT
  case when A=7 then B else A end
FROM
  yourtable
WHERE
  7 IN (A, B)
SELECT
  GROUP_CONCAT(case when A=7 then B else A end
               ORDER BY case when A=7 then B else A end)
FROM
  yourtable
WHERE 7 IN (A, B)
看小提琴

如果A和B的值可以同时为7,并且您希望跳过该行,则可以替换为:

WHERE 7 IN (A, B)

试试这个

SELECT A as Single FROM mytable WHERE B=7   UNION   
SELECT B  as Single FROM mytable WHERE A=7 ORDER BY Single;
试试这个

SELECT A as Single FROM mytable WHERE B=7   UNION   
SELECT B  as Single FROM mytable WHERE A=7 ORDER BY Single;

如果您期望结果为1、2、3,请使用下面的选项

SELECT colB as NewCol FROM tableName WHERE colA=7
UNION
SELECT colA as NewCol FROM tableName WHERE colB=7;
如果您想要两个列,只需使用

SELECT colA, colB FROM tableName WHERE colA=7 OR colB=7;

如果您期望结果为1、2、3,请使用下面的选项

SELECT colB as NewCol FROM tableName WHERE colA=7
UNION
SELECT colA as NewCol FROM tableName WHERE colB=7;
如果您想要两个列,只需使用

SELECT colA, colB FROM tableName WHERE colA=7 OR colB=7;

我想你在找这个

   SELECT myresult from (

          SELECT A myresult FROM Table1 WHERE A IN (1,2,3)
          UNION
          SELECT B myresult FROM Table1 WHERE B IN (1,2,3)
                   )t
   ORDER BY myresult
这将产生:

 MYRESULT
   1
   2
   3

我想你在找这个

   SELECT myresult from (

          SELECT A myresult FROM Table1 WHERE A IN (1,2,3)
          UNION
          SELECT B myresult FROM Table1 WHERE B IN (1,2,3)
                   )t
   ORDER BY myresult
这将产生:

 MYRESULT
   1
   2
   3

您必须尝试此代码

SELECT b as value FROM users WHERE a='7'
UNION All
SELECT a as value FROM users WHERE b='7'

此查询必须对您有所帮助。

您必须尝试此代码

SELECT b as value FROM users WHERE a='7'
UNION All
SELECT a as value FROM users WHERE b='7'

此查询必须对您有所帮助。

您期望的输出是什么?您期望的输出是什么?非常感谢您这正是我想要的,我不知道MySQL上有UNION:P@MahmoudZalt:如果这解决了您的问题,请将其标记为已接受。看,非常感谢这正是我想要的,我不知道MySQL上有联盟:P@MahmoudZalt:如果这解决了您的问题,请将其标记为已接受。看见