2016-05-20 3 views
1

Kann mir jemand sagen, was mit meinem Code falsch ist? Ich versuche, Pipes zu verwenden, und ich plane, es aufzuräumen, um es etwas später in Bezug auf die normalen Textbits fließen zu lassen, aber ich möchte wissen, warum es jetzt nicht anfängt.ORA-00936: Ausdruck fehlt mit Rohren

SELECT 
    CUSTOMER.CUSTOMER_NO ||'Customer Number'|| 
    CUSTOMER.FIRST_NAME ||' First name '|| 
    CUSTOMER.SURNAME ||'Last name'|| 
    CAR.MAKE ||'Make'|| 
    CAR.MODEL ||'Model'|| 
    CAR.CAR_NO ||' '|| 
    CAR.PURCHASE_PRICE ||'Price Bought'|| 
    CAR.SOLD_PRICE ||'Price Sold'|| 
    CAR.SOLD_PRICE - CAR.PURCHASE_PRICE ||'Profit'|| 
    STAFF.FIRST_NAME ||' '|| 
    STAFF.STAFF_NO ||' '|| 

    AS "All sales in July 2015" 

    FROM CUSTOMER, CAR, STAFF 
    WHERE CAR.SOLD_BY_CUSTOMER_NO = CUSTOMER.CUSTOMER_NO AND SOLD_DATE     between '07/01/2015' AND '07/31/2015' AND STAFF.STAFF_NO = CAR.SOLD_BY_STAFF_NO; 
+5

Sie haben eine extra || vor dem als –

+0

Ah vielen Dank. Ich habe das herausgenommen und jetzt bekomme ich ORA-01722: ungültige Nummer – James

+1

Jetzt brauchen Sie Klammern um Ihre Subtraktion - '(CAR.SOLD_PRICE - CAR.PURCHASE_PRICE)'. Ohne dass Sie eine lange Zeichenfolge erstellen und dann versuchen, den Kaufpreis von dieser Zeichenfolge zu subtrahieren. (Siehe [Vorrang für den Operator] (http://docs.oracle.com/cd/E11882_01/server.112/e41084/operators001.htm#BCFJDBDD)). –

Antwort

0

entfernen Sie einfach das letzte Rohr wie unten

SELECT 
    CUSTOMER.CUSTOMER_NO ||'Customer Number'|| 
    CUSTOMER.FIRST_NAME ||' First name '|| 
    CUSTOMER.SURNAME ||'Last name'|| 
    CAR.MAKE ||'Make'|| 
    CAR.MODEL ||'Model'|| 
    CAR.CAR_NO ||' '|| 
    CAR.PURCHASE_PRICE ||'Price Bought'|| 
    CAR.SOLD_PRICE ||'Price Sold'|| 
    CAR.SOLD_PRICE - CAR.PURCHASE_PRICE ||'Profit'|| 
    STAFF.FIRST_NAME ||' '|| 
    STAFF.STAFF_NO ||' ' 

    AS "All sales in July 2015" 

    FROM CUSTOMER, CAR, STAFF 
    WHERE CAR.SOLD_BY_CUSTOMER_NO = CUSTOMER.CUSTOMER_NO AND SOLD_DATE     between '07/01/2015' AND '07/31/2015' AND STAFF.STAFF_NO = CAR.SOLD_BY_STAFF_NO;