Я в настоящее время работаю в студии визуального управления sql 2012. У меня две таблицы. Таблица 1 имеет три столбца (ItemNumber как varchar, Quantity as int и TimeOrdered as datetime). Таблица 2 имеет 2 столбца (ItemNumber как varchar, а Price as float). Обратите внимание, что эти номера позиций не совпадают, номера деталей в таблице 1 имеют букву после номера, в то время как номер позиции в таблице 2 нет. Например, в таблице 1 номер позиции будет выглядеть примерно так: 999999999-E, а другая таблица будет равна 999999999-. Поэтому, чтобы получить номер детали, я должен использовать выбранный Left для 10 цифр.Выберите левые 10 номеров, слева присоединитесь по цене от второй таблицы, а затем суммируйте, SQL
Мне нужно вывести список номеров позиций из таблицы 1 на основе упорядоченного времени, а затем перебрать сравнение этого списка в таблицу 2 и несколько раз умножить количество на общую сумму. Вот мой код до сих пор:
SELECT sum(tbl.quantity * table2.price) as grandtotal,
tbl.PartNumber,
tbl.quanity,
table2.price
FROM
(SELECT left(itemnumber, 10) as itemnumber, quantity
FROM table1
WHERE TimeOrdered between
('2014-05-05 00:00:00.000')
AND
('2015-05-05 00:00:00.000')) as tbl
Left table2 on
tbl.partnumber =tbl2.itemnumber
Я получаю сообщение об ошибке здесь агрегированных колонки, но я не уверен, что это правильный путь идти об этом, чтобы начать с.
------------- обновление ---------------
Я получил это работает. Извините, что так долго, чтобы вернуться к вам, ребята, я весь день застрял в собрании,
дайте мне минуту, пока я это пробую. – Cheddar
Я получил это, чтобы работать, и у меня есть общая колонка. Теперь, как я могу суммировать общую колонку, не делая таблицу Excel и добавляя ее вручную. – Cheddar
SELECT Sum (grandtotal) from ( - здесь написано выше ) a –