Однолинейное решение:
В следующем коде используются URL-адреса объектов, что намного эффективнее, чем URL-адрес данных для просмотра больших изображений (URL-адрес данных - это огромная строка, содержащая все данные файла, тогда как URL-адрес объекта - это просто короткая строка, ссылающаяся на данные файла в памяти):
<img id="blah" alt="your image" width="100" height="100" />
<input type="file"
onchange="document.getElementById('blah').src = window.URL.createObjectURL(this.files[0])">
Сгенерированный URL-адрес будет выглядеть следующим образом:
blob:http%3A//localhost/7514bc74-65d4-4cf0-a0df-3de016824345
Вы можете использовать оконную функцию, она даст общее количество для всех строк:
SELECT T.ProductID
, T.ProductName
, T.UnitCost
, T.TotalUnitsSold
, T.FinalCost
, SUM(T.FinalCost) OVER(PARTITION BY ProductID) AS Total
FROM (
SELECT o.ProductID ,
p.ProductName ,
o.unitprice AS UnitCost ,
sum(o.Quantity) AS TotalUnitsSold ,
(sum(o.Quantity)*o.unitprice) AS FinalCost
FROM OrderDetails o
JOIN Products p ON o.ProductID = p.ProductID
GROUP BY o.ProductID ,
p.ProductName ,
o.unitprice
) AS T
ORDER BY 1