首页 > 解决方案 > 连接同一个表中的 2 列

问题描述

在下面的尝试中,我试图连接同一个表中的两列,当我尝试运行它时,它显示“参数数量无效”。

 SELECT  Concat(b.OB,',',C.OB) AS LANE 
  ,(
    CASE
            WHEN a.vehicle_class LIKE '601%'
            THEN 'Small'
            WHEN a.vehicle_class LIKE '602%'
            THEN 'Large'
            WHEN a.vehicle_class LIKE '9%'
            THEN 'TOW'
            ELSE 'ERROR'
    END) AS vehicle_size
    , a.*
FROM
    (SELECT *
    FROM    reserved

    ) a
  , location b
  , location c
  , mre_system_parameters SYS
WHERE   b.ob_location_id = a.ob_location_id
AND c.ob_location_id = a.ib_location_id
AND rental_date      > sys.cpd - 20000
AND rental_date     <= sys.cpd
AND a.vehicle_class  LIKE '6%'
AND booking_count    = 1;

COMMIT;

标签: sqlstringoracleconcat

解决方案


Oracleconcat严格采用两个参数,而不是您在查询中使用的三个参数。您可以只使用一系列连接运算符 ( ||) 代替:

b.OB || ',' || C.OB AS LANE 

推荐阅读