Mysql自定义选择查询

时间:2010-08-20 19:37:28

标签: sql mysql

我有这2个mysql查询

SELECT `name` AS name1,`id` AS id1 FROM `table` WHERE id=1
SELECT `name` AS name2,`id` AS name2 FROM `table` WHERE id=2

结果会像这样输出

NAME1  ID1
john  1
NAME2  ID2
meg   2

无论如何,我从2个查询中得到1,它会在同一个表的1行显示所有结果吗?

NAME1   ID1  NAME2   ID2
john     1   meg     2

5 个答案:

答案 0 :(得分:2)

SELECT t1.name AS name1, t1.id AS id1, t2.name as name2, t2.id as id2
FROM table as t1, table as t2 WHERE t1.id = 1 and t2.id = 2;

答案 1 :(得分:1)

Select Min( Case When Id = 1 Then Id End ) As Id1
    , Min( Case When Id = 1 Then Name End ) As Name1
    , Min( Case When Id = 2 Then Id End ) As Id2
    , Min( Case When Id = 2 Then Name End ) As Name2
From `table`
Where Id In(1,2)

答案 2 :(得分:0)

你的意思是在WHERE子句中使用OR吗?像:

SELECT `name`,`id` FROM `table` WHERE id=1 OR id = 2

答案 3 :(得分:0)

您可以像这样结合

SELECT `name`,`id` FROM `table` WHERE id=1 OR id=2

但是,你仍然会得到两个结果。你想用结果输出做什么?

答案 4 :(得分:0)

从mytable tbl1,mytable tbl2中选择tbl1.name,tbl1.id,tbl2.name,tbl2.id

但是这个查询会很乱,它会给你从表中任意顺序的两个名字的整个组合,你可以用WHERE子句过滤它但是......你有多少个名字?为什么这样做?也许如果我们知道你想要做什么,我们可能会给你一个更好的答案

编辑哦,我现在看到你的疑问......它应该是这样的

select tbl1.name,tbl1.id,tbl2.name,tbl2.id from mytable tbl1,mytable tbl2  where tbl1.id=1 and tbl2.id=2