【发布时间】:2012-03-15 19:44:49
【问题描述】:
背景
我有一个 oracle 数据库表,其中有很多列,我正在运行一些查询。
我不知道我在查询中要查找的确切数据,所以我想返回所有列,但我不想寻找和挑选我知道有意义的列。
问题
假设一个表(表 1)包含 A 列、B 列、C 列....Z 列 --
有没有办法基本上说“选择 C 列、J 列、F 列、Q 列,然后从表 1 中选择其余列”?
我尝试过的事情
保持伪sql,运行:
从 Table1 中选择 C 列、J 列、F 列、Table1.*
没有帮助,因为即使我不介意重复,oracle 仍将它们视为定义不明确的列,因此返回错误。
【问题讨论】:
-
另请注意——我已经在stackoverflow.com/questions/596841/… 尝试了相关答案,但到目前为止我看不到任何东西。
-
为什么不直接按所需顺序明确枚举列 (
SELECT C, J, F, A, B, D, ..., Z)? -
不,它不是那样工作的......你必须按照你想要的顺序选择所有列或执行 SELECT *
-
你能提供一个实际的例子吗?我在您的查询中没有看到任何对数据库造成困难的内容。如果您在没有别名列的情况下将表连接在一起,那么我可能会看到一些关于不明确的列定义的信息……您是否遇到错误?请张贴!
-
@Venk 不,你可以两者都做。选择一些列然后使用
*