【问题标题】:SQL select query with one or two column excluded排除一或两列的 SQL 选择查询
【发布时间】:2013-08-06 02:40:57
【问题描述】:

如何编写一个排除一或两列而不是列出所需列的选择查询。

例如,我们有一个包含 10 列的表 Table1 (col_1,col_2,col_2 ..... col_10) 我们只想选择 col_1 到 col_8。

而不是像这样写

Select col_1, col_2, col_3 .... col_8 from Table1

我们应该这样选择

Select -(col_9, col_10) * from Table1

【问题讨论】:

  • 不,没有标准的方法。
  • 因为你还没有命名一个 dbms,我猜你是在要求 sql 标准。答案是:不可能
  • 你不能这样做,总是更好地提及哪些列是必需的而不是不需要的
  • 你能试试这个解决方案吗:stackoverflow.com/a/6691661/835239 ?

标签: sql select filter required


【解决方案1】:

可能的,但您必须使用动态 SQL 或存储过程。这仍然意味着必须使用固定的列名和索引来指定开始和结束列,如果这些列不是按运行顺序(colN、colN+1 等),那么它会变得混乱。

所以我想你的答案是它,只需输入它。做一些切肉刀的好处是很小的。

我希望这会有所帮助。

【讨论】:

    【解决方案2】:

    有什么想法吗?

    我想我们可以先选择列名,然后写入查询。

    1 选择排除的列。

    显示 _table WHERE FIELD NOT IN ('column1','column2') 中的列

    2 然后,使用我们从上面查询中得到的列结果写入选择查询列。

    从 _table WHERE 1 中选择 {result_aboved}

    但我认为这种情况不能只查询一次。您必须至少查询两次。

    【讨论】:

    • 可以转入存储过程中处理吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2018-04-01
    • 2011-06-28
    • 2019-10-07
    • 1970-01-01
    • 2021-11-28
    相关资源
    最近更新 更多