我有两个问题,我试图合并为一个。我正在做的简化版本:
SELECT * FROM table WHERE `id` = '1' ORDER BY `name`
SELECT * FROM table WHERE `id` = '2' ORDER BY `age`
我已经研究过工会,但我在网上找到的例子不太有帮助。
答案 0 :(得分:1)
你可能正在寻找这样的东西:
function swapFieldsets(elem) {
if (elem.value.toLowerCase() === 'business') {
alert(elem.value)
}
}
由于id是结果集的一部分,因此不需要SELECT * FROM YourTable
WHERE id in('1','2')
ORDER BY id,CASE WHEN id=1 THEN age END,CASE WHEN id=2 THEN name END
或其他复杂的技巧。
我很确定UNION
和age
的类型不同。一个name
可能会遇到麻烦。
在我的建议中,CASE WHEN
使用了三个列。这将转化为
ORDER BY
或
ORDER BY 1,age,NULL
答案 1 :(得分:0)
以下代码将简单地汇总每个的结果。它没有更多的东西。
SELECT * FROM table WHERE `id` = '1' ORDER BY `name`
union
SELECT * FROM table WHERE `id` = '2' ORDER BY `age`
答案 2 :(得分:0)
在两个查询之间应用Union
运算符。请注意在以下两个查询中选择相同的列名称和序列:
SELECT id,columnname1,columnname2 FROM table WHERE id = '1'
union
SELECT id,columnname1,columnname2 FROM table WHERE id = '2'
答案 3 :(得分:0)
select * from(select table from table1,其中id = 1 order by id)UNION select * From(从table2中选择id,其中id = 2 order by name);这对oracle工作正常。