我想在两个包含IP地址的表之间进行组合,我可以按升序对其进行排序,它可以正常工作。但是当我想要组合它时,它会像这样解析错误“如果语句包含UNION,INTERSECT或EXCEPT运算符,ORDER BY项必须出现在选择列表中。”这是我的查询
public static void main (String[] args) {
Scanner scan = new Scanner(System.in);
Scanner web = null;
while (true) {
try {
String input = scan.nextLine();
URL url = new URL(input);
web = new Scanner(url.openStream());
break;
} catch (MalformedURLException e) {
System.out.println("error occurred: " + e);
} catch (IOException e) {
System.out.println("error occurred: " + e);
}
}
if (web != null ) {
// do something with 'web'
}
}
答案 0 :(得分:0)
它认为你想要对你不能用联合做的第二个子查询进行排序。如果要对整个事物进行排序,则应将其包装在括号中,并按您创建的新列名进行排序。
( 选择IP AS [IP地址] 来自库存 UNION ALL SELECT IP FROM Equip ) 按照过程订购(' /' + [IP地址] +' /'作为hierarchyid)
答案 1 :(得分:0)
没问题,我找到了解决方案,这里是.. SELECT IP FROM(选择IP来自库存UNION ALL SELECT IP FROM Equip)x ORDER BY CAST(' /' + IP + ' /' AS hierarchyid)