Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Microsoft SQL Server 2008


deadea

Öne çıkan mesajlar

Express edition'ı (developer) windows 7 işletim sistemi olan laptop'a yükledim ama local'den bağlanamıyorum ! alla alla ?

Xp de (masaüstü) tıkır tıkır çalışmıştı. Gerçi yüklerken Firewall'da sorun var. "Dont forget to open port" bilmem ne falan dedi. Sonra ben denedim girmedi. Sonra Firewall'da güvenilir programlara ekledim sql'i yine olmadı. Firewall'u kapadım yine olmadı..
Link to comment
Sosyal ağlarda paylaş

yeah sql başlığı varken niye kirleteyim ortalığı dimi. neyse



ALTER PROC getSalesByDate
@startDate DATETIME,
@finishDate DATETIME
AS
SELECT Products.ProductName, SUM([Order Details].Quantity) AS Total
FROM Products
INNER JOIN [Order Details]
ON Products.ProductID = [Order Details].ProductID
INNER JOIN Orders
ON [Order Details].OrderID = Orders.OrderID
WHERE Orders.OrderDate BETWEEN @startDate AND @finishDate
GROUP BY Products.ProductName
ORDER BY Products.ProductName


böyle bi proc'umuz var, geriye çok sayıda satır ve iki kolon döndürüyor. 1. kolonda malumunuz ürünler, ikinci kolonda fiyatları geliyor diyim ben şimdilik.. peki

fiyatların en altına hepsinin toplamını yazdırayım diyorum amma sum'la toplayıp sonra "as Total" kısmında ", SUM(Total)" tabiki diyemiyorum, Çünkü Total'i daha oluşturmadı kendiside bana Total ne diyor.

toplasakta nasıl toplasak, sonuçta sum'la toplayacağım şey bir tablonun kolon'u değil.
Link to comment
Sosyal ağlarda paylaş

Ha tabi simdi aklima geldi, en sona

union
select 'ALL' as productname, sum([Order Details].Quantity) as total FROM Products
INNER JOIN [Order Details]
ON Products.ProductID = [Order Details].ProductID
INNER JOIN Orders
ON [Order Details].OrderID = Orders.OrderID
WHERE Orders.OrderDate BETWEEN @startDate AND @finishDate

dersen de en son satir olarak tum toplam doner.
Link to comment
Sosyal ağlarda paylaş

e varmis iste analytic function'lar


ALTER PROC getSalesByDate
@startDate DATETIME,
@finishDate DATETIME
AS
SELECT Products.ProductName
, SUM([Order Details].Quantity) AS Total
, SUM([Order Details].Quantity) over (partition by 1) Grand_Total
FROM Products
INNER JOIN [Order Details]
ON Products.ProductID = [Order Details].ProductID
INNER JOIN Orders
ON [Order Details].OrderID = Orders.OrderID
WHERE Orders.OrderDate BETWEEN @startDate AND @finishDate
GROUP BY Products.ProductName
ORDER BY Products.ProductName
Link to comment
Sosyal ağlarda paylaş

Tabi sacmalamisim

ALTER PROC getSalesByDate
@startDate DATETIME,
@finishDate DATETIME
AS
SELECT distinct Products.ProductName
, SUM([Order Details].Quantity) over (partition by Products.ProductName) AS Total
, SUM([Order Details].Quantity) over (partition by 1) Grand_Total
FROM Products
INNER JOIN [Order Details]
ON Products.ProductID = [Order Details].ProductID
INNER JOIN Orders
ON [Order Details].OrderID = Orders.OrderID
WHERE Orders.OrderDate BETWEEN @startDate AND @finishDate
ORDER BY Products.ProductName
Link to comment
Sosyal ağlarda paylaş

sole bi dene dicem ama?

ALTER PROC Getsalesbydate
@startDate DATETIME,
@finishDate DATETIME
AS
SELECT products.productname
FROM products
INNER JOIN [Order Details]
ON products.productid = [Order Details].productid
INNER JOIN orders
ON [Order Details].orderid = orders.orderid
WHERE orders.orderdate BETWEEN @startDate AND @finishDate
UNION ALL
SELECT Sum([Order Details].quantity)
FROM [Order Details] AS total
GROUP BY products.productname
ORDER BY products.productname
Link to comment
Sosyal ağlarda paylaş

@riglous ; Budur! (tu)

zihnine sağlık hocam eyw.. partition mantığını araştırim boş zamanım olunca çünkü o "over (partition by" ları falan hiç anlamadım. ama baştaki distinct de güzel olmuş :) gratz


@reyou ; amaç tek select sorgusu içinde getirmek reyou. ayrı bir select sorgusunu istemiyoruz.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...