Объединение 2 столбцов в одной таблице - PullRequest
2 голосов
/ 12 марта 2019

В приведенной ниже попытке я пытаюсь объединить два столбца из одной и той же таблицы, и при попытке ее запуска выдается «недопустимое количество аргументов».

 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;

Ответы [ 2 ]

3 голосов
/ 12 марта 2019

Oracle concat принимает строго два аргумента, а не три, как в вашем запросе.Вместо этого вы можете просто использовать серию операторов конкатенации (||):

b.OB || ',' || C.OB AS LANE 
1 голос
/ 12 марта 2019

В oracle удобнее использовать оператор || для объединения.таким образом,

b.OB || ',' || C.O 
...