Nano Hash - криптовалюты, майнинг, программирование

SQL Server CE: как объединить результаты двух запросов в одну строку?

У меня есть два запроса, которые возвращают одно значение из разных таблиц (и никоим образом не связаны через отношения), и я пытаюсь объединить выходные данные обоих запросов в одну строку, однако получаю синтаксическую ошибку. Вот что я пытаюсь:

SELECT
    (SELECT Timestamp As StartDate 
     FROM Events 
     WHERE Description = 'Inserted') AS StartDate,
    (SELECT TOP (1) Timestamp As EndDate 
     FROM DataStore 
     ORDER BY Timestamp DESC) AS EndDate

И вот что я получаю обратно:

Произошла ошибка при синтаксическом анализе запроса. [Номер строки токена = 2, смещение строки токена = 2, токен с ошибкой = SELECT]

Запрос 1 сам по себе возвращает: «2015-06-10 11:43:34.000», а запрос 2 возвращает: «2015-06-11 13:59:47.000».

Я хочу вернуть одну строку с двумя столбцами, с выводом запроса 1 в качестве столбца «StartDate» и выводом запроса 2 в качестве столбца «EndDate».


  • выбрать... ОБЪЕДИНЕНИЕ ВСЕХ выбрать...? 15.09.2015
  • Нет, это не то, чего я хочу. Он возвращает запросы в виде двух отдельных строк, а также, похоже, изменяет возвращаемые данные для каждого из них:/ 15.09.2015
  • Итак, покажите нам, что возвращают запросы 1 и 2, и желаемый объединенный результат. 15.09.2015

Ответы:


1

SQL CE не поддерживает вложенные операторы SELECT, подобные этому, поэтому вам нужно использовать два оператора SELECT и использовать UNION или дважды вызывать ExecuteNonQuery.

15.09.2015
  • Спасибо. Я решил просто вызвать запрос дважды. 15.09.2015

  • 2

    Первый запрос может вернуть 2 или более значений, в отличие от второго запроса. Попробуйте поставить TOP (1) также в первом запросе, так как я думаю, что вы просто нацелены на лучшие результаты.

    SELECT
    (SELECT TOP (1) Timestamp As StartDate FROM Events WHERE Description = 'Inserted') AS StartDate,
    (SELECT TOP (1) Timestamp As EndDate FROM DataStore Order by Timestamp DESC) AS EndDate
    

    См. эту ссылку SQL Fiddle для теста, который я сделал.

    15.09.2015
  • Нет, все еще получаю ту же ошибку. И оба запроса определенно возвращают только одно значение. 15.09.2015

  • 3

    Попробуй это:

    SELECT StartDate.StartDate, EndDate.EndDate
    FROM
    (SELECT Timestamp As StartDate FROM Events WHERE Description = 'Inserted') AS StartDate
    CROSS JOIN
    (SELECT TOP (1) Timestamp As EndDate FROM DataStore Order by Timestamp DESC) AS EndDate
    
    15.09.2015
  • Well Timestamp — это имя столбца. Оба запроса работают по отдельности, но не вместе. 15.09.2015

  • 4
  • Нет, это дает мне: при разборе запроса произошла ошибка. [Номер строки токена = 3, смещение строки токена = 53, токен с ошибкой = порядок] 15.09.2015
  • Нет, результаты по-прежнему находятся в двух отдельных строках. 15.09.2015
  • тогда, пожалуйста, отредактируйте свой вопрос и покажите нам ожидаемый результат 15.09.2015
  • @JohnBergqvist Возможно, это не лучшее решение, но теперь посмотрите мой отредактированный ответ. Он будет работать в любых условиях. 15.09.2015
  • Боюсь, все еще нет: при синтаксическом анализе запроса произошла ошибка. [Номер строки токена = 1, смещение строки токена = 1, токен с ошибкой = объявление] 15.09.2015
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..