【问题标题】:Oracle - Concatenate Field on WhereOracle - 在 Where 上连接字段
【发布时间】:2015-10-05 08:13:21
【问题描述】:

我正在使用连接字段,我想在它的 WHERE 上使用它

TABLE T_EXAMPLE
RED - FERRARI - F50
BLUE - PORSHE - S20  
GREEN - CAMARO - T40

我必须在网格上显示所有这些字段,因为我需要将所有这些字段放在一个字段中,但是我必须使用可以是三个中任何一个的一个信息来过滤网格,例如:

SELECT
  T.COLOR || T.CAR,T || T.Model AS FIELD1
FROM T_EXAMPLE T
WHERE FIELD1 LIKE '%FER%'

我想在这里过滤法拉利,但我尝试这样做,但出现错误(无效标识符)。

谁能帮帮我??

【问题讨论】:

    标签: sql oracle concatenation where


    【解决方案1】:

    别名FIELD1不能在WHERE子句中使用,所以只需在WHERE子句中重复列连接即可。像这样:

    SELECT
      T.COLOR || T.CAR || T.Model AS FIELD1
    FROM T_EXAMPLE T
    WHERE T.COLOR || T.CAR || T.Model LIKE '%FER%'
    

    或者,如果您不喜欢重复,另一种选择是:

    SELECT FIELD1
    FROM (
      SELECT
        T.COLOR || T.CAR || T.Model AS FIELD1
      FROM T_EXAMPLE T
    )
    WHERE FIELD1 LIKE '%FER%'
    

    【讨论】:

      猜你喜欢
      • 2021-12-09
      • 1970-01-01
      • 1970-01-01
      • 2012-08-15
      • 1970-01-01
      • 1970-01-01
      • 2017-07-29
      • 2023-03-25
      • 1970-01-01
      相关资源
      最近更新 更多