Arama butonu
Bu konudaki kullanıcılar: 1 misafir
5
Cevap
455
Tıklama
0
Öne Çıkarma
SQL konusunda acil yardım, ödev var yapamıyorum
Y
19 yıl
Yarbay
Konu Sahibi

ARkadaşlar çok uğraştım ama olmuyor bileniniz mutlaka vardır.

Şimdi bir tablo var elimizde,

ADI SOYADI MAAS CİNSİYET


create table personel
(
adi text(11),
soyadi text(11),
maas text(11),
cinsiyet text(1)
)



gibi ve bu tabloda değerler var işte.

Sonra bu tablodan bazı veriler çağrılacak, ilk baş Cİnsiyete göre guruplama yaptırıp en yüksek maaşı istedik,


SELECT cinsiyet, max(maas) FROM personel GROUP BY cinsiyet;


komutu ile.

Ama hoca dedi di Cinsiyetler çıkıyo iyi hoş güzelde, bu cinsyetlerin yanında ADLARI da çıksın dedi Ama adları da ekleyince bütün veriler geliyo

yani SELECT cinsiyet,adi, max(maas) FROM personel GROUP BY cinsiyet,adi;

işe yaramıyor.



Sorgu sayfasında personel tablosundan verileri çağırdığımızda şöyle bi tablo çıkacak karşımıza

Cinsiyet ADI Maas ve burda kadınlardan en yüksek maaş alanın ismi , erkeklerden en yüksek maaş alanın maaşı ismi cinsiyei çkacak.


lütfen yarına derste göstermem lazım yoksa sıfır alacam ben çok uğraştım olmuyor


not: access de sql kodu ile yazıyoruz bunları





< Bu mesaj bu kişi tarafından değiştirildi Yazılımcı Online -- 30 Mart 2006; 0:09:50 >

M
19 yıl
Yüzbaşı

SELECT cinsiyet +' ' + adi as yeni_bolum, max(maas) FROM personel

diye yaparsan eğer cinsiyet ve adi bölümünü arada ' ' ile boşluk bırakarak yeni bir bölüm oluşturur. bu bölümün adı da yeni_bolum olarak tanımlanır. böylece listelenmiş olur.

Tabi istediğin buysa



T
19 yıl
Onbaşı

Merhaba
SELECT cinsiyet,adi, max(maas) FROM personel GROUP BY cinsiyet,adi;

max(maas) atıp where = >... ile en yüksek maaşı buldurabilirsin ancak içinden en büyüğü nasıl seçebilir bilemiyorum...


Bu mesaja 1 cevap geldi.
M
19 yıl
Er

arkadaşım sana amatörcesini söyleyeyim
maaşı enbüyük erkekle maaşı enbüyük bayan değilmi şunu bi dene istersen

SELECT cinsiyet,adi, maas FROM personel where ((maas=(select max(maas) from personel where cinsiyet=erkek) and ((maas=(select max(maas) from personel where cinsiyet=bayan))


bunu bidene olması gerekir diye sanıyorum


Bu mesaja 1 cevap geldi.
Y
19 yıl
Yarbay
Konu Sahibi

arkadaşlar yardımlarınız için sağolun

bi arkadaşın verdiği omut ile yaptım çalıştı

SELECT *FROM personel WHERE maas IN ( SELECT MAX(maas) from personel GROUP BY cinsiyet);

iç içe select mi neymiş bunun adı

Ama maizmaiz arkadaşım senin ki daha amatörce bi yapım gibi geldi , hocaya daha inandırıcı gelebilir seninkini deniyecem az sonra sağol


Bu mesaja 1 cevap geldi.
M
19 yıl
Er

ben sana amatörce diye söylemiştim zaten, bulmuşsun ya sorun kalktıysa önemli değil



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.