Sorgunun tabloya başvurmadan istenilen sayıda satır üretmesi münkün mü?
Tarih
24/09/2012 14:02
Konu Sahibi
WiniFred
Yorumlar
2
Okunma
1197
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy



WiniFred
Aktif Üye
Kullanici Avatari
Aktif Üye
121
25/09/2011
11
Zonguldak
-
28/11/2016,21:49
Çözüldü 
Merhaba,
Bir sorgunun, herhangi bir tabloya başvurmadan istenilen sayıda satır üretmesinin mümkün olup olmadığını öğrenmek istiyorum.

Biraz daha açık anlatmaya çalışayım:

Konsol programlarında, diyelim ki for döngüsüyle ekrana yukarıdan aşağıya doğru 1'den 10'a kadar ardışık sayı yazdırabiliriz.

İşte bunu Sql sorgusuyla yapabilir miyim?

Sorgunun diğer sütunları da herhangi bir tabloya başvurmayacak çünkü. Bu ilk sütundaki değerleri alıp sonuç üretecek functionlardan oluşacak diğer sütunlar.

Örnek eklemiyorum. Çünkü bunun örneği yok. Yalnızca, benim yapacağım sorguda 0'dan başlayıp yine bir functionla hesaplayacağım sayıya kadar ilerleyecek (o sayı kadar satır üretecek ve bunları her satıra, ilk sütun değeri olarak yazacak). Yani bitiş değeri de göreceli olacak.

Böyle birşey yapılabildiğinden pek umudum yok ama, belki farklı tekniklerle bu işi yapabilen üstadlarımız vardır.

Saygılarımla...
Cevapla


WiniFred
Aktif Üye
Kullanici Avatari
Aktif Üye
121
25/09/2011
11
Zonguldak
-
28/11/2016,21:49
Çözüldü 
Merhaba arkadaşlar,
Yukarıdaki sorumun çözümünü buldum.

Problemin çözümünde epey bir süre önce forumdan indirdiğim bir uygulamadaki yöntemi kullandım. Bu uygulama kredi ödeme planı oluşturuyordu. O uygulamayı foruma kimin yüklediğini hatırlamıyorum, yalnızca yükleyen arkadaşın yabancı sitelerden bulduğu bir uygulama olduğunu hatırlıyorum.

Çözümü ekteki örneğim üzerinden anlatayım.

Sorumun başlığında "tabloya başvurmadan" diye belirtmiştim ama tabii ki -SQL'in temelleri gereği- bir tablo ve esas sorgumuzun başvuracağı bir sorgu hazırlayarak çözdüm. Ekteki örneğimde Rakamlar isimli bir tablo oluşturdum ve içeriğine 0'dan 9'a kadar rakamları girdim. Sonra SrgSayilar isimli bir sorgu hazırladım. Bu sorgu Rakamlar tablosuna başvuruyor ve 999'a kadar sayı üretiyordu. Sql cümlesi şöyledir:

SQL Code
SELECT (Rakamlar.Rakam+(Rakamlar1.Rakam*10)+(Rakamlar2.Rakam*100)) AS Sayilar
FROM Rakamlar, Rakamlar AS Rakamlar1, Rakamlar AS Rakamlar2
ORDER BY (Rakamlar.Rakam+(Rakamlar1.Rakam*10)+(Rakamlar2.Rakam*100));


Bu sorgudaki SELECT kısmını şöyle yazarak, örneğin 99'a kadar sayı üretmek mümkün:

SQL Code
SELECT (Rakamlar.Rakam+(Rakamlar1.Rakam*10)) AS Sayilar


Yukarıdaki sorumda ilk sütundaki değerlerin üst sınırının oluşturduğum bir functiondan dönecek değer olacağını söylemiştim. Sorgunun diğer sütunlarınında functionlardan oluşacağını, bu functionların, ilk sütundaki değerleri alarak bunlar üzerinde işlem yapacağını söylemiştim.

Buna göre Vba kısmına basit functionlar (4 adet) oluşturdum. Bu functionları tamamen örnek oluşturmak için yazdım. Gerçek uygulamamda kullandıklarım biraz daha karmaşıktır. İlk function sınır değeri belirliyor. Diğerleri de kendilerine gönderilen değerleri basit çarpma işlemi yaparak sonuç döndürüyorlar. SrgEsasSorgu adını verdiğim sorgunun Sql cümlesi şöyle:

SQL Code
SELECT SrgSayilar.Sayilar, SayiCarp(SrgSayilar.Sayilar), SayiCarp1(SrgSayilar.Sayilar), SayiCarp2(SrgSayilar.Sayilar)
FROM SrgSayilar
WHERE SrgSayilar.Sayilar BETWEEN 0 AND SinirDeger()
ORDER BY SrgSayilar.Sayilar;


İşte böyle. Forumda dursun ki ihtiyacı olanlar kullanabilsin.
Saygılarımla...


.rar   SQLOrnek.rar (Dosya Boyutu: 14,19 KB / İndirme Sayısı: 3)

Cevapla


C*e*l*o*y*c*e
Celosoft Yazılım
Kullanici Avatari
Uzman
M.... B....
2.813
29/10/2008
899
Ankara
Ofis 2010 32 Bit
Çözüldü 
sayın WiniFired
paylaşım için teşekkürler
Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  Metin Kutusuna Yazarken Satır Kontrolü musteri53 9 130 3 saat önce musteri53
  sorgunun excel olarak alınması koruyucu 3 112 6 saat önce atoz112
  Açılan kutuda seçilen ilk satır kayıt getiriyor sorunu nightashes 2 52 Dün, 18:23 nightashes
  Videoyu istenilen aralıkta oynatma kadirdursun 22 1.019 Dün, 17:21 kadirdursun
  Satır Silince Yeni Satır Ekleniyor shalala 4 137 20/11/2016, 21:45 shalala


Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya