#sql #sql-server
#sql #sql-сервер
Вопрос:
у меня есть 2 запроса, где в одной таблице указана сумма для таких автомобилей, как
Amount_Table Cars
800 Car A
900 Car B
2100 Car C
Вторая таблица показывает скидку соответственно для автомобилей A, B и C.
Discount_table
40
10
80
Я хотел бы получить окончательный запрос, в котором отображаются значения суммы-скидки
В таблице сумм выполнен один запрос, а в таблице скидок — другой. следовательно, я хочу сделать (amount-query) - (discount query)
Я сделал
Select ( (amount-query) - (discount-query))
но это привело к ошибке
В списке выбора может быть указано только одно выражение, если подзапрос не введен с помощью EXISTS.
Пожалуйста, помогите!
Комментарии:
1. Можете ли вы показать нам свою фактическую схему таблицы и фактический SQL?
2. можете ли вы опубликовать ПОЛНЫЙ запрос? Спасибо!
Ответ №1:
попробуйте что-то вроде этого:
Select AmountTable.Amount-isnull(DiscountTable.Discount, 0)
from AmountTable left join
on AmountTable.Car = DiscountTable.Car
Ответ №2:
Вы не можете «вычитать» запросы. Вы должны выполнить объединение между таблицами (или подзапросами) и создавать выражения, используя имена столбцов.
Ответ №3:
Вам нужно присоединиться:
SELECT *
,cars_table.amount - discounts_table.discount
FROM cars_table
INNER JOIN discounts_table
ON cars.some_key = discounts_table.some_key