Создать вычисляемый столбец во временной таблице sql

Продажи, Дата первая, Дата вторая

У меня есть три поля во временной таблице, из которых мне нужно создать вычисляемый столбец, равный (Дата один - Дата два) в точных десятичных годах или днях Я запускаю код ниже, чтобы найти первый вычисляемый столбец; однако я получаю сообщение об ошибке, упомянутое внизу

ALTER TABLE #temptable
ADD [TimeDif_Day] AS (SELECT *, DATEDIFF (DAY, Date_one, Date_two))

Подзапросы в этом контексте запрещены. Допускаются только скалярные выражения.

Какие СУБД вы используете?

jarlh 17.05.2022 16:03

Пожалуйста, объясните, почему подзапросы не разрешены.

jarlh 17.05.2022 16:04

Обратите внимание, что таблицы имеют столбцы, а не поля.

jarlh 17.05.2022 16:04
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
0
3
25
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я полагаю, вам нужно удалить ложные вещи из того, что у вас есть:

ALTER TABLE #temptable ADD [TimeDif_Day] AS DATEDIFF (DAY, Date_one, Date_two)

Стандарт имеет

СОЗДАТЬ ЛОКАЛЬНУЮ ВРЕМЕННУЮ ТАБЛИЦУ... ( Продажи ... , Дата1 ..., Дата2 ... , TimeDif_Day ВСЕГДА СОЗДАЕТСЯ КАК <выражение вычисления> )

<выражение вычисления> не может ссылаться ни на что, кроме трех других столбцов.

Если ваша СУБД не поддерживает эту конкретную функцию стандарта, найдите способ просто оставить таблицу как есть и просто использовать SELECT в том месте, где вы ее используете. В противном случае, возможно, в вашей СУБД возможно создать вторую «временную» таблицу в качестве представления («временное представление», если такое существует) в первой, но это, похоже, не санкционировано стандартом.

Другие вопросы по теме