相关疑难解决方法(0)

使用列的值为另一列(SQL Server)?

假设我在某张桌子上有很大的选择.使用复数logc计算列的一个值,并将其称为ColumnA.现在,对于另一列,我需要来自ColumnA的值并向其添加一些其他静态值.

示例SQL:

select table.id, table.number, complex stuff [ColumnA], [ColumnA] + 10 .. from table ...
Run Code Online (Sandbox Code Playgroud)

[ColumnA] + 10是什么即时寻找.复杂的东西是一个巨大的案例/何时阻止.

想法?

sql sql-server calculated-columns

16
推荐指数
1
解决办法
3万
查看次数

如何将"精简"PostgreSQL行扩展为单独的列?

我有一个返回表的函数.

如果运行SELECT * FROM some_function(12345)结果是:

object_id | name
----------------
    12345 | "B"
Run Code Online (Sandbox Code Playgroud)

如果运行SELECT some_function(12345)结果是:

some_function
-------------
(12345,"B")
Run Code Online (Sandbox Code Playgroud)

问题是我想要原始表单(以便我可以访问单个列值),但让参数some_function()来自表中的列.我可以执行,SELECT some_function(thing_id) FROM things但这会返回:

some_function
-------------
(12345,"B")
(12346,"C")
(12347,"D")
Run Code Online (Sandbox Code Playgroud)

而我想要的回报是:

object_id | name
----------------
    12345 | "B"
    12346 | "C"
    12347 | "D"
Run Code Online (Sandbox Code Playgroud)

那么如何"不必要"或"扩展"这样一个浓缩的行呢?

sql postgresql

12
推荐指数
1
解决办法
2773
查看次数

从mysql迁移到postgresql,我失踪了最好的功能?

我曾经用mysql开发一切,本周有机会与postgresql一起工作,为什么不呢!

我总是被告知postgresql有更大的功能集.
我读了一些wiki,但大部分信息都已经过时了.

我失踪的最佳功能是什么?像部分索引等.
另外,我会想念mysql的东西?

mysql sql postgresql

8
推荐指数
3
解决办法
2249
查看次数

如何在同一个select语句中使用条件列值?

我有类似的东西

(COMPLEX_EXPRESSION_N代表长子查询)

select
  ID_Operation,
  FirstCheck = CASE WHEN (COMPLEX_EXPRESSION_1)= 0 then 0 else 1 end,
  SecondCheck = CASE WHEN (COMPLEX_EXPRESSION_2)= 0 then 0 else 1 end,
  ThirdCheck = CASE WHEN (COMPLEX_EXPRESSION_3)= 0 then 0 else 1 end,
  AllChecksOk = Case WHEN 
               (FirstCheck + SecondCheck + Third CHeck = 3) 
               Then 'OK' Else 'No' End
from 
  AllOperationsTable
Run Code Online (Sandbox Code Playgroud)

是否可以像在AllChecksOk系列中那样使用FirstCheck,SecondCheck,ThirdCheck?

我不关心性能,这是每天在非常少量的记录上手动运行的东西,我只是想避免创建视图,表或临时表并将所有内容保存在单个select语句中.

作为一个altenrative,我可以做到这一点,但它使查询的可读性降低(因为我需要为每个复杂的表达式编写两次):

select
  ID_Operation,
  FirstCheck = CASE WHEN (COMPLEX_EXPRESSION_1)= 0 then 0 else 1 end,
  SecondCheck = CASE WHEN (COMPLEX_EXPRESSION_2)= 0 …
Run Code Online (Sandbox Code Playgroud)

sql-server case sql-server-2008 conditional-statements

5
推荐指数
1
解决办法
2万
查看次数