Czy możesz mi pomóc z następnej kwerendy SQL sql.Oracle wybierz z podkwerendą
SELECT "NEWS"."NEWSID" as ID,
"NEWS"."SLUG",
"NEWS_TRANSLATION".*,
(SELECT FILENAME FROM NEWS_MEDIA WHERE NEWSID = ID AND rownum <= 1 ORDER BY POSITION ASC) as FILENAME
FROM "NEWS"
INNER JOIN "NEWS_TRANSLATION" ON NEWS.NEWSID = NEWS_TRANSLATION.NEWSID
WHERE (NEWS.PUBLISH = 1) AND (NEWS_TRANSLATION.LANG = :lang)
ORDER BY "NEWS"."NEWSID" DESC;
Kiedy wykonać to zapytanie mam błąd
ORA-00907: missing right parenthesis
00907. 00000 - "missing right parenthesis"
*Cause:
*Action:
Error at Line: 4 Column: 74
Jeśli celem jest uzyskanie nazwy pliku pozycji MIN dla elementu wiadomości z news_media, nie sądzę, że rownum jest używane poprawnie. "ORDER BY" jest stosowane po wybraniu jednego rekordu. Musiałby być podporządkowany lub, jeszcze lepiej, połączony osobno z MIN (pozycja). Zobacz http://www.oracle.com/technetwork/issue-archive/2006/06-sep/o56asktom-086197.html – Glenn