однострочный подзапрос возвращает более одной строки в столбцах даты - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть код, который дает эту проблему в Oracle: «однострочный подзапрос возвращает более одной строки» Когда я использовал только код встроенного кода, он работал

Я пробовал только встроенный код нижекоторый работает нормально

select TO_CHAR(TO_DATE(theDATE,'DD.MM.YYYY HH24:MI', 'NLS_DATE_LANGUAGE = 
   NORWEGIAN'),
       'DD/MM/YYYY') 
       from mastertable

Но комбинация кода не работает путем объединения двух операторов выбора

   SELECT  aircraft
    , country
     ,   (select TO_CHAR(TO_DATE(theDATE,'DD.MM.YYYY HH24:MI', 'NLS_DATE_LANGUAGE 
  = NORWEGIAN'),
       'DD/MM/YYYY') 
       from mastertable )

        FROM mastertable

   FULL OUTER JOIN continent ON mastertable.id = continent.id

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Почему бы вам просто не

SELECT m.aircraft,
       c.country,
       to_char(to_date(m.thedate, 'dd.mm.yyyy hh24:mi', 'nls_date_language = norwegian'), 'dd/mm/yyyy') the_date
FROM mastertable m full outer join continent c on m.id = c.id;

Я имею в виду, какова цель запроса, который вы пытаетесь (ab) использовать?

Кроме того, что такое THEDATE тип данных?Выглядит как VARCHAR2;это?Что хорошего NLS_DATE_LANGUAGE делает здесь?Все, с чем вы имеете дело, это цифры (нет месяца или дня имена ), так что можно упростить до

to_char(to_date(m.thedate, 'dd.mm.yyyy hh24:mi'), 'dd/mm/yyyy')
0 голосов
/ 07 февраля 2019

Вам нужно ограничить свой подзапрос только одним идентификатором, поскольку

SELECT aircraft,
       country,
       (select TO_CHAR(TO_DATE(theDATE,
                               'DD.MM.YYYY HH24:MI',
                               'NLS_DATE_LANGUAGE 
  = NORWEGIAN'),
                       'DD/MM/YYYY')
          from mastertable
         where id = m.id 
          )
  FROM mastertable m
  FULL OUTER JOIN continent c
    ON m.id = c.id

при условии, что идентификатор является столбцом первичного ключа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...