2016-05-20 5 views
1

誰かが自分のコードに何が問題なのか教えていただけますか?私はパイプを使用しようとしていますが、通常のテキストビットに関しては少し後でフローを整えようと計画していますが、なぜそれが最初に動作しないのかを知りたいのです。ORA-00936:パイプを使用した式がありません

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

次のようにちょうど最後のパイプを削除する||の前に –

+0

ああ大変ありがとう。私はそれを取り出して、ORA-01722:無効な番号 – James

+1

を取得しました。今度は減算の周りにカッコが必要です - '(CAR.SOLD_PRICE - CAR.PURCHASE_PRICE)'。それがなければ、長い文字列を作成してからその文字列から購入価格を差し引いています。 ([演算子の優先順位](http://docs.oracle.com/cd/E11882_01/server.112/e41084/operators001.htm#BCFJDBDD)を参照してください)。 –

答えて

0

あなたは余分を持っている

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; 
関連する問題