我正在寻找公式方面的帮助。我正在寻找如何做两个单独的SELECT查询,但没有合并它们。
SELECT basetype from table1 where name="test";
**SELECT itemid from table2 where itemid="5";**
我希望查询将basetype显示为列,将itemid显示为另一列。短版本是在一个查询中显示结果的两个选择。数据不必在表之间匹配。
编辑:我搞砸了。它是两个独立的表格。我想要的结果基本上就是这个。没有工会。
BASETYPE | ITEMID
1 | 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)
您有两个选项,UNION或subqueries(也称为子选择)。 我认为你正在寻找UNION。
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;