Belirli tarihleri ifade eden zamanlama bilgilerini içeren bir tablonuz varsa, bu bilgiyi bir tür CROSS JOIN kullanarak, belki de bu bilgileri gerçek satırlara dönüştürmek için yazılabilen bir SQL ifadesi var mıdır? ayları uzunluğu - tarifesi başlıyor tarihi (1 ödeme bu tarihte kaynaklanmaktadır) Güncel tarih tarifeleri temelinde gerçek tarihler çizmek için SQL kullanabilir miyim?
- BaşlangıçTarihi: bu sütunlu bir ödeme planı tablo düşünün zamanlama
- Frekans - rekürenslerin arasındaki ayların sayısı
- PaymentAmt -
SchedID StartDate Term Frequency PaymentAmt ------------------------------------------------- 1 05-Jan-2003 48 12 1000.00 2 20-Dec-2008 42 6 25.00
beni aşağıdakilere yukarıdan devam etmesine izin için tek bir SQL deyimi var mı
Running SchedID Payment Due Expected Num Date Total -------------------------------------- 1 1 05-Jan-2003 1000.00 1 2 05-Jan-2004 2000.00 1 3 05-Jan-2005 3000.00 1 4 05-Jan-2006 4000.00 1 5 05-Jan-2007 5000.00 2 1 20-Dec-2008 25.00 2 2 20-Jun-2009 50.00 2 3 20-Dec-2009 75.00 2 4 20-Jun-2010 100.00 2 5 20-Dec-2010 125.00 2 6 20-Jun-2011 150.00 2 7 20-Dec-2011 175.00
Ben MS SQL Server 2005 (yakında yükseltme için hiçbir umut) kullanıyorum ve zaten bir tablo değişkeni ve while döngüsü kullanarak yapabilirsiniz, ancak CROSS'un çeşit geçerli olacak JOIN gibi görünüyordu ama Bunun nasıl işe yaradığını bilmiyorum.
Düşünceleriniz takdir edilmektedir.
DÜZENLEME: Aslında başlangıçta 2000 dediğim halde SQL Server kullanıyorum. Düşündüğüm kadar geriye doğru değiliz. Afedersiniz.
WOW !! Bu sıcak! Sadece sorgunuzu denedim ve gerçekten işe yarıyor. Bir sonraki saatini (sadece bir saat, umarım) oraya nasıl gideceğini anlamaya çalışacağım. Çok teşekkürler. Şimdi kesinlikle daha akıllıyım (ya da bir saat içinde olacağım). :-) – witttness