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

Mssql farklı tablodan verileri toplamak


Pluton

Öne çıkan mesajlar

Selamlar, uğraştım didindim ama bir sonuç bulamadım.

Hatta Sql Fiddle ile oturdum sizin için basit bir şema çıkardım.

En basit olarak tablolar şunlar;

Chars -> Karakterlerin depolandığı tablo
Guilds -> Guildlerin depolandığı tablo
Kills -> Ölme ve öldürme sayılarının depolandığı tablo
GuildMembers -> Hangi karakter hangi guilde mensup burada

Şimdi yapmaya çaıştığım olay şu;

Tüm guildleri listelerken toplam üye sayısını ve üyelerin toplam öldürme sayılarını almak istiyorum. Toplam üye sayısını aldım fiddle'da ama o guilde ait toplam öldürme sayılarını aldıramadım. Help pls

http://www.sqlfiddle.com/#!3/f9626/1
Link to comment
Sosyal ağlarda paylaş

Guildmembers tablosu neden? Bir karakter birden fazla guilde uye olabiliyor mu? Olamiyorsa char tablosuna guild id koy yeterli.

Ayni sekilde kills tablosunun da amacini anlayamadim. Olme/oldurulmeyi de field olarak char tablosuna koyabilirsin.

Bunlari yaparsan tam emin olmamakla birlikte


select guildname, sum(kills) from guilds, chars where chars.guildid = guilds.id group by(guilds.id)


isini gorur gibi. Yanlissam duzeltirler zaten.
Link to comment
Sosyal ağlarda paylaş

Neyse onu hallettimde başka bir sorum var. Bu SQL'de bitmek bilmiyor ya.

Misal şöyle birşey kullanıyorum;

SELECT TOP(50)

A.Colum,
(SELECT SUM(Kill) FROM kills) AS TotalKill,
(SELECT SUM(Dead) FROM kills) AS TotalDead

FROM

Bu selectin içindeki sorgu tıpa tıp aynı sadece çekeceğim sütunlar değişik. Bunları bir şekilde tek seferde çekip 2 ayrı AS yapma şansım var mı aceba ?
Link to comment
Sosyal ağlarda paylaş

  • 1 ay sonra ...
Pluton said:

Neyse onu hallettimde başka bir sorum var. Bu SQL'de bitmek bilmiyor ya.

Misal şöyle birşey kullanıyorum;

SELECT TOP(50)

A.Colum,
(SELECT SUM(Kill) FROM kills) AS TotalKill,
(SELECT SUM(Dead) FROM kills) AS TotalDead

FROM

Bu selectin içindeki sorgu tıpa tıp aynı sadece çekeceğim sütunlar değişik. Bunları bir şekilde tek seferde çekip 2 ayrı AS yapma şansım var mı aceba ?


sorguyu genişlet biraz.

SELECT
a.column,
SUM(kills.Kill) AS TotalKill,
SUM(kills.Dead) AS TotalDead
FROM a, kills

yeterli. muhtemelen bi ilişki de yok a ile kill arasında.

senin sadece bir kaç tablodan sogu çekmeyi öğrenmen lazım anladığım kadarıyla.
Link to comment
Sosyal ağlarda paylaş

  • 4 hafta sonra ...
Pluton said:

Neyse onu hallettimde başka bir sorum var. Bu SQL'de bitmek bilmiyor ya.

Misal şöyle birşey kullanıyorum;

SELECT TOP(50)

A.Colum,
(SELECT SUM(Kill) FROM kills) AS TotalKill,
(SELECT SUM(Dead) FROM kills) AS TotalDead

FROM

Bu selectin içindeki sorgu tıpa tıp aynı sadece çekeceğim sütunlar değişik. Bunları bir şekilde tek seferde çekip 2 ayrı AS yapma şansım var mı aceba ?


Şöyle bişey yapabilirsin
Select x.TotalKill, x.TotalDead
From
(
Select Sum(Kill) As TotalKill, Sum(Dead) As TotalDead From kills
) x
Link to comment
Sosyal ağlarda paylaş

SELECT
G.ID, G.Name,T.MemberCount, T1.KillCount
FROM
Guilds G
OUTER APPLY (
SELECT COUNT(1) AS MemberCount
FROM GuildMembers GM
WHERE GM.GuildID = G.ID) T
OUTER APPLY (
SELECT SUM(K.TotalKill) KillCount
FROM GuildMembers GM
JOIN Kills K ON K.CharID = GM.CharID
WHERE GM.GuildID = G.ID
GROUP BY GM.GuildID ) T1
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...