Soruda belirtildiği gibi, sütun sonuçlarında bir durum bildirimi olan bir sorguyu formüle etmeye çalışıyorum ve sonra bu sütunu sorgu grubundaki gruba eklemek istiyorum. Beyan. Somut bir örnek vermek gerekirse, burada sorgu neye benzediğini hepsi biraz:Grup İçinde Durum Açıklama Sütunu Nasıl Kullanılır
SELECT SOME_TABLE_ALIAS.COLUMN1, OTHER_TABLE_ALIAS.COLUMN2,
CASE
WHEN SOME_TABLE_ALIAS.COLUMN3 IS NOT NULL THEN 'A'
ELSE 'B'
END AS CASE_COLUMN
FROM SOME_TABLE SOME_TABLE_ALIAS
... (other table joins and where clauses)
GROUP BY SOME_TABLE_ALIAS.COLUMN1, OTHER_TABLE_ALIAS.COLUMN2, CASE_COLUMN
Buraya gelirken benim sorunu çözmeye çalışmak, this one dahil olmak üzere birkaç web siteleri, kontrol etti. Bağlantılı web sayfasında gösterildiği gibi CASE
anahtar kelimesinin ardından başka bir takma ad eklemeyi denedim, ancak şansım olmadı. Ben almaya devam hata mesajı şudur:
[Error] Script lines: 127-151 ----------------------
CASE_COLUMN IS NOT VALID IN THE CONTEXT WHERE IT IS USED. SQLCODE=-206, SQLSTATE=42703, DRIVER=3.53.71
Ben bakan ve CASE
açıklamada sonuçları hakkında bir GROUP BY
kullanabildiğinizden ediyorum sorunları başkasının çalıştırmak mı? Herhangi bir yardım takdir edilecektir.
SELECT SOME_TABLE_ALIAS.COLUMN1, OTHER_TABLE_ALIAS.COLUMN2,
CASE
WHEN SOME_TABLE_ALIAS.COLUMN3 IS NOT NULL THEN 'A'
ELSE 'B'
END AS CASE_COLUMN
FROM SOME_TABLE SOME_TABLE_ALIAS
... (other table joins and where clauses)
GROUP BY SOME_TABLE_ALIAS.COLUMN1, OTHER_TABLE_ALIAS.COLUMN2,
CASE
WHEN SOME_TABLE_ALIAS.COLUMN3 IS NOT NULL THEN 'A'
ELSE 'B'
END
veya alt sorgu kullanın: Oh, ve DB2 sürümü Sen olarak bu gibi gruptaki davayı kullanabilirsiniz ya
Doğru. Ancak, [IBM parlance] 'te,' some_table 'den' 'sta' 'demeniz durumunda açıklığa kavuşturmak için,' sta ', [FROM table-reference] [http://pic.dhe.ibm]' de "korelasyon adı" olarak adlandırılır. Bir ['takma ad] adı yerine, com/infocenter/db2luw/v10r5/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0059206.html) (http://pic.dhe.ibm) .com/infocenter/db2luw/v10r5/konu/com.ibm.db2.luw.sql.ref.doc/doc/r0000910.html). Ancak bu, kendi cevabınızın gösterdiği gibi, FROM yan tümcesinin (korelasyon ismiyle) ilk önce GROUP BY'den önce değerlendirildiğine işaret etmektedir. – WarrenT