aşağıdaki kodu deneyebilirsiniz ama bence çalışmanız ilişkili tablo mantığına ters
parametre tablosunda zaten tablo türünün ID ve Adı var,
tbl_Orderski
RaporTuru alanı gereksiz yere parametre tablosundaki alan, RaporTuru alanıyla ilişkilendirilmiş
oysa
tbl_Orders tablosundaki rapor türü alanı uzun tamsayı yapılıp
tbl_Param tablosundaki ID alanıyla ilişkilendirilseydi hem sıralama için param tablosuna gerek kalmayacaktı hem de veri israfı olmayacaktı.
şöyle düşünün
Kdv iade değeri 8 karakter, oysa aynı alanın ID değeri tek haneli bir sayı yada diyelim ki 100lerce tür var en fazla 999 yani 3 hane,
aşağıda 3 farklı tür için hafızada kaplanan alan gösterilmiştir
MS Access’te
1 - "Kısa Metin (Short Text)" alanı her karakter için 1 bayt kullanır.
8 karakter olduğu için: 8 bayt
2 - "Uzun Tam Sayı (Long Integer)" veri türü sabit olarak 4 bayt kaplar.
Sayının kaç basamaklı olduğu önemli değildir, her zaman 4 bayt kullanır.
3 - "Tam Sayı (Integer)" veri türü sabit olarak 2 bayt kaplar.
Sayının 3 haneli olması fark etmez, her zaman 2 bayt yer kaplar.
ama asıl önemli olan metin verileri girilirken yazım hatalarının olabilme ihtimali de vardır
SELECT tbl_Orders.RaporTuru, Count(tbl_Orders.id) AS Sayid
FROM tbl_Orders INNER JOIN tbl_Param ON tbl_Orders.RaporTuru = tbl_Param.RaporTuru
GROUP BY tbl_Orders.RaporTuru
ORDER BY First(tbl_Param.id);