2016-04-03 7 views
0

Kullanıcı, tarih aralığı değerlerini girdiğinde yılındaki tüm ayların adını görüntülemek için SQL sorgusu nedir? Sonuçlar, ayın herhangi bir değer içermemesi durumunda, başlıktaki tüm ay ismini göstermelidir.Bir Oracle raporundaki tüm ay isimleri nasıl görüntülenir?

SELECT CU.CUST_CODE, ITS.ITEMS_CODE, ITS.ITEMS_NAME, TO_CHAR(TM.JOB_DATE,'MON-YY')MON, TO_CHAR(TM.JOB_DATE,'MM-YY')MM, SUM(TD.QUANTITY)QUANTITY, SUM(TD.PRICE)UNIT 
FROM CUSTOMERS CU, ITEMS ITS, TRANS_MASTER TM, TRANS_DETAIL TD 
WHERE CU.CUST_CODE=TM.CUST_CODE 
AND ITS.ITEMS_CODE = TD.ITEM_CODE 
AND TM.INVOICE_NO = TD.INVOICE_NO 
GROUP BY CU.CUST_CODE,ITS.ITEMS_CODE,ITS.ITEMS_NAME,TO_CHAR(TM.JOB_DATE,'MON-YY'),TO_CHAR(TM.JOB_DATE,'MM-YY') 
ORDER BY MM ASC 
+0

nasıl OCAK olarak ayı görüntülemek için, FEB .... verilen aralıktan kullanılarak Yukarıdaki sorgu –

cevap

0

sen 'JAN', 'Şubat' gibi Ay almak için

to_char(TM.JOB_DATE, 'MON')

kullanmayı da deneyebilirsiniz ..

+0

evet, teşekkürler. –

+0

ama yukarıdaki sorguda bu char ... ekledim, ancak tam olarak ihtiyacım olan şey, bir ayın belirli bir tarihini girdiğinde, veriler ayın diğer tüm aylarını da göstermesi gerektiğinde ay da NULL değerleriyle görüntülenmelidir herhangi bir veri veya değer içermiyor. ama tüm 12 ay gösterilmeli! –

+0

bu NVL'yi deneyebilirsiniz (to_char (TM.JOB_DATE, 'MON'), 'Uygulanamaz') –