mysql选择两个不同的查询

时间:2014-05-14 18:47:05

标签: mysql sql select scripting

我正在寻找公式方面的帮助。我正在寻找如何做两个单独的SELECT查询,但没有合并它们。

SELECT basetype from table1 where name="test";
**SELECT itemid from table2 where itemid="5";**

我希望查询将basetype显示为列,将itemid显示为另一列。短版本是在一个查询中显示结果的两个选择。数据不必在表之间匹配。

编辑:我搞砸了。它是两个独立的表格。我想要的结果基本上就是这个。

没有工会。

BASETYPE | ITEMID
    1    |   5

5 个答案:

答案 0 :(得分:2)

我怀疑你想要这个:

select rn, max(basetype) as basetype, max(itemid) as itemid
from ((SELECT @rn := @rn + 1 as rn, basetype, NULL as itemid
       from table1 cross join
            (select @rn := 0) var
       where name = 'test'
      ) union all
      (SELECT @rn2 := @rn2 + 1, NULL, itemid
       from table2 cross join
            (select @rn2 := 0) var
       where itemid = '5'
      )
     ) t
group by rn;

答案 1 :(得分:0)

尝试使用union:

 SELECT basetype from table1 where name="test"
 union 
 SELECT itemid  as basetype from table1 where itemid="5";

答案 2 :(得分:0)

一种方法是创建子查询。

SELECT a.basetype, b.itemid FROM
(SELECT basetype from table1 where name="test") a,
(SELECT itemid from table1 where itemid="5") b

答案 3 :(得分:0)

试试这个:

 SELECT basetype, itemid
 FROM table1
 where table1.name="test" AND table1.itemid="5";

答案 4 :(得分:0)

您有两个选项,UNIONsubqueries(也称为子选择)。 我认为你正在寻找UNION。

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;