Sorgu için yardım

1 2
18/05/2011, 17:49

gokmenser

Access de bilet satış için veritabanı oluşturdum..Bu veritabanında sorgu yapmam gerek..

Hangi müşterinin en çok bilet aldığını?

Her bir satıcının kaç tane bilet sattığını?

Müşterinin ID sini girerek aldığı biletleri ve ödediği parayı

Hareket yerini girerek o hareket yerine ait toplam bilet sayısını ve ödenen parayı

Hareket ve Varış noktalarını girerek o güzergahdaki kesilen toplam bilet sayısını

Her havayoluna ait bilet sayısını ve biletlere ödenen parayı

sorgulamam gerek..

Bunları nasıl yapabilirim?

18/05/2011, 17:52

Hayri16

Sayın gokmenser;
Eğer tablolarınız , tablolardaki alanlarınız ve verileriniz bu istediklerinize uygunsa formumuzda kısa bir araştırmayla bunları yapacak düzeye gelirsiniz. Bizim yardımcı olabilmemiz için dosyanı buraya eklemen gereliyor. Saygılarımla.
18/05/2011, 18:02

gokmenser

Tabloları oluşturdum..
Eklenti olarak göndermeye çalıştım ama;

Eklenti olarak girmek istediğiniz dosya tipine izin verilmiyor. Lütfen eklentiyi silin veya farklı bir dosya tipi seçin.

uyarısıyla karşılaştım..

Link olarak vermek zorunda kaldım umarım forum kurallarına aykırı değildir..

https://rapidshare.com/files/655113465/P...__1_.accdb

Saygılar..

Editosyayı ekledim..
18/05/2011, 19:01

goodfalles

bunu bi yerden aldın mı kedin mi yaptın
tablolar alanlar ingilizce
18/05/2011, 19:07

gokmenser

Kendim yaptım hepsini..Üniversitede Database Management diye bi ders alıyorum ordan esinlenerek yola çıktım..Elimde ki kaynak ingilizce olunca ordaki tabloların başlıklarıda ingilizce olarak yazdım..
18/05/2011, 19:39

ercansahin

Sorgu oluşturun ve SQL'ine aşağıdaki kodları yazın ve deneyin;

Hangi müşterinin en çok bilet aldığı için

SELECT Customer.[First Name], Customer.[Last Name], Sum(Ticket.Price) AS ToplaPrice, Count(Customer.[Customer ID]) AS [SayCustomer ID]
FROM Customer INNER JOIN Ticket ON Customer.[Customer ID] = Ticket.CustomerID
GROUP BY Customer.[First Name], Customer.[Last Name]
ORDER BY Count(Customer.[Customer ID]) DESC;

Her bir satıcının kaç tane bilet sattığı için

SELECT Employee.[First Name], Employee.[Last Name], Sum(Ticket.Price) AS ToplaPrice, Count(Employee.[Employee ID]) AS [SayEmployee ID]
FROM Employee INNER JOIN Ticket ON Employee.[Employee ID] = Ticket.EmployeeID
GROUP BY Employee.[First Name], Employee.[Last Name]
ORDER BY Count(Employee.[Employee ID]) DESC;

Müşterinin ID sini girerek aldığı biletleri ve ödediği parayı bulmak için

SELECT Sum(Ticket.Price) AS ToplaPrice, Ticket.FirstName.Value, Ticket.LastName, Ticket.CustomerID
FROM Ticket
GROUP BY Ticket.FirstName.Value, Ticket.LastName, Ticket.CustomerID
HAVING (((Ticket.CustomerID)=[Müşterinin ID Numarasını Giriniz]));

Hareket yerini girerek o hareket yerine ait toplam bilet sayısını ve ödenen parayı bulmak için

SELECT Count(ORIGIN.[Origin Code]) AS [SayOrigin Code], Sum(Ticket.Price) AS ToplaPrice, ORIGIN.[Origin Name]
FROM ORIGIN INNER JOIN Ticket ON ORIGIN.[Origin Code] = Ticket.OriginCode
GROUP BY ORIGIN.[Origin Name]
HAVING (((ORIGIN.[Origin Name])=[Lütfen Hareket Yerini Giriniz]));

Hareket ve Varış noktalarını girerek o güzergahdaki kesilen toplam bilet sayısını bulmak için

SELECT Count(ORIGIN.[Origin Code]) AS [SayOrigin Code], Sum(Ticket.Price) AS ToplaPrice, ORIGIN.[Origin Name], DESTINATION.[Destination Name]
FROM DESTINATION INNER JOIN (ORIGIN INNER JOIN Ticket ON ORIGIN.[Origin Code] = Ticket.OriginCode) ON DESTINATION.[Destination Code] = Ticket.DestinationCode
GROUP BY ORIGIN.[Origin Name], DESTINATION.[Destination Name]
HAVING (((ORIGIN.[Origin Name])=[Lütfen Hareket Yerini Giriniz]) AND ((DESTINATION.[Destination Name])=[Lütfen Varış Yerini Giriniz]));

Her havayoluna ait bilet sayısını ve biletlere ödenen parayı bulmak için

SELECT Sum(Ticket.Price) AS ToplaPrice, AIRLINE.[Airline Name], Count(AIRLINE.[Airline Code]) AS [SayAirline Code]
FROM AIRLINE INNER JOIN Ticket ON AIRLINE.[Airline Code] = Ticket.AirlineCode
GROUP BY AIRLINE.[Airline Name];
1 2