я использую Oracle 10g PLSQL, мой запрос:ORA-00936: отсутствует выражение отличается от оракула
select DISTINCT ON("Rental"."pkRentalId") "pkRentalId",
to_number("Reservation"."ReservationNo") "ReservationNo",
to_char("Rental"."RentalNo") "RentalNo",
to_char(segmentTable."Text"||'-'||rateTypeTable."Text") "RateType",
to_char("Debtor"."DebtorName") "DebtorName",
to_char("Rates"."RateName") "RateName",
to_char("Renter"."FirstName"||' '||"Renter"."LastName") "Renter",
to_date("Rates"."ValidFrom") "ValidFrom",
to_date("Rates"."ValidTo") "ValidTo",
round(to_number(to_number("ReservationDuration"."ExpectedCheckinDateTime"-"ReservationDuration"."DispatchDateTime") *to_number("Rates"."UnitRate")),2) "RentalAmount",
to_number("Deductions"."Amount") "Deduction",
to_number("Billing"."DiscountAmount") "Discount"
from "Reservation"
inner join "Rental" on "Rental"."pkRentalId"="Reservation"."fkRentalId"
inner join "Rates" on "Rates"."pkRateId"="Reservation"."fkRateId"
inner join "Renter" on "Renter"."fkReservationId"="Reservation"."pkReservationId"
inner join "Billing" on "Billing"."pkBillingId"="Reservation"."fkBillingId"
inner join "Deductions" on "Deductions"."fkRentalId"="Rental"."pkRentalId"
inner join "Debtor" on "Debtor"."pkDebtorId"="Rates"."fkDebtorId"
inner join "EnumerationValue" segmentTable on segmentTable."pkEnumerationValueId"="Reservation"."fkSegmentId"
inner join "EnumerationValue" rateTypeTable on rateTypeTable."pkEnumerationValueId"="Reservation"."fkRateTypeId"
inner join "ReservationDuration" on "ReservationDuration"."pkDurationLocationId"="Reservation"."fkDurationId"
where "Reservation"."IsDeleted"='N'
она возвращается меня:
ORA-00936: missing expression
00936. 00000 - "missing expression"
*Cause:
*Action:
Error at Line: 4 Column: 17
Что такое правильный формат отчетливый в оракуле pl/sql? Я хочу вернуть все отличные значения "pkRentalId"
и максимальное значение для всех остальных столбцов.
Если вы хотите использовать 'DISTINCT', вам нужно сделать' DISTINCT' для каждого столбца в списке выбора. Я не уверен, что вы хотите использовать 'ON (« Аренда ».« PkRentalId »), но это недействительный синтаксис. –
Я только хочу сделать отдельное предложение на одной из моих выбранных столбцов. что я должен делать в этом случае? google search рекомендует мне приведенный выше синтаксис. , как вы видите http://www.postgresql.org/docs/9.0/static/sql-select.html#SQL-DISTINCT –
Это ссылка на документацию PostgreSQL, а не на Oracle. Если в результате есть несколько строк в одном и том же 'pkRentalId', как вы знаете, какие из других значений вы хотите сохранить? –