2012-04-19 21 views
6

Bir maksimum değeri (sıra) seçmek için JPQL (2.0) 'da bir sorgu oluşturmam gerekiyor.Boş bir tablo için "SELECT max (rank) FROM testinin" null sonucu nasıl önlenir?

kullandığım: Bu tablo boş olduğu durumda haricinde gayet iyi çalışıyor SELECT max(rank) FROM test

, sonuç null, ama 0 lazım. (Çerçeve sadece JPA Sorgu ama hiçbir java kodunu belirlemenizi sağlar) Ben "yakalamak" if-ifadesi bir basit ile boş başardı eğer

Bu

hiçbir sorun olacağını ama bunu yapamaz.

Tablo boşsa,yerine null almak için bu sorgunun nasıl ayarlanacağı konusunda bir fikriniz var mı? - Veritabanı bir MySQL'dir ve yerel sorgular veya saklı yordamlar seçenek değildir. Belki

+0

@Frosty Z: neden silindi? – zerkms

+0

Nedeni doğal bir sorgu (JPQL'in COALESCE'e böyle bir şekilde izin vermediğini varsayalım) –

+3

Yerel sorgulama yok, saklı proc yok, basit bir yapamazsınız (eğer ret == null) ret = 0; tür şey. Merak ediyorum, neden tüm kısıtlamalar? Ellerinizi arkanızdan kasıtlı olarak bağladığınız gibi geliyor. Bir geçici çözüm için – pap

cevap

İlgili konular