【发布时间】:2015-02-26 11:28:39
【问题描述】:
澄清:我使用 jdbc over jpql native query with mysql
em.createNativeQuery(MyQuery).getResultList();
是否可以在一个这样的 MyQuery 字符串中执行下面所写的操作?无需创建临时表、视图、存储过程或执行其他语句。如果否,那么简单的否就可以了,也许欢迎解释为什么不。
我想在 select 内的 subselect 中使用 B
SELECT (SELECT COUNT(*) FROM B) CNT FROM
其中 B 是另一个选择的别名。
(SELECT * FROM XY) B
这可能是任何地方:
INNER JOIN
(SELECT * FROM XY) B ON ...
这不起作用,但问题是:
是否可以通过任何(其他)方式在单个查询中执行此操作(无需创建视图)?
基本上我想在选择子句中的选择中使用选择结果集(例如在那里计算一些东西)。而且我想在查询的不同部分重用它,因此需要别名。
【问题讨论】:
-
你的问题真的没有意义。除非
B恰好有一列和零或一行,否则您的第一个查询可能会返回错误。请编辑问题并提供更多详细信息。 -
您需要为您的查询选择 x,y,z FROM (SELECT * FROM B) 才有意义。你可以 SELECT x,y,z FROM (SELECT * FROM (SELECT a AS x, b as y FROM XY)) 如果你想要内部,内部选择
-
请写出更清晰简洁的问题。