2017-03-06 8 views
-1

私はmyphpでビューを作成しようとしていますが、私は勉強しているコーダーではありません 誰かが私を助けることができますか? これはデータベースにvirtuemartビューを作成

CREATE VIEW export AS SELECT * FROM 
apef1_virtuemart_orders, apef1_virtuemart_order_items, apef1_virtuemart_order_userinfos 
WHERE apef1_virtuemart_orders.virtuemart_order_id = apef1_virtuemart_order_items.virtuemart_order_id 
AND apef1_virtuemart_orders.virtuemart_order_id = apef1_virtuemart_order_userinfos.virtuemart_order_id 

私のクエリですが、私は

1060このエラーを取得する - 重複列名が間違っている何

'をvirtuemart_order_id'?

答えて

1

これはあなたのselect * from apef1_virtuemart_orders, apef1_virtuemart_order_items, apef1_virtuemart_order_userinfosが原因だと思います。 virtuemart_order_id列は1つ以上の表に存在します。

テーブル間に名前の競合がある場合は、エイリアスを使用してビューが正しく作成されるようにする必要があります。

このクエリを参照してください:

CREATE VIEW export AS 
    SELECT 
    avo.*, 
    avoi.order_item_sku, 
    avoi.order_item_name, 
    avoi.product_quantity, 
    avoi.product_item_price, 
    avoi.product_priceWithoutTax, 
    avoi.product_tax, 
    avoi.product_basePriceWithTax, 
    avoi.product_discountedPriceWithoutTax, 
    avoi.product_final_price, 
    avoi.product_subtotal_discount, 
    avoi.product_subtotal_with_tax, 
    avoi.order_item_currency, 
    avoi.order_status AS order_status_2, 
    avoi.product_attribute, 
    avoi.delivery_date AS delivery_date_2, 
    avoi.created_on AS created_on_2, 
    avoi.created_by AS created_by_2, 
    avoi.modified_on AS modified_on_2, 
    avoi.modified_by AS modified_by_2, 
    avoi.locked_on AS locked_on_2, 
    avoi.locked_by AS locked_by_2, 
    avou.virtuemart_userinfo_id, 
    avou.virtuemart_user_id, 
    avou.address_type, 
    avou.address_type_name, 
    avou.name, 
    avou.company, 
    avou.title, 
    avou.last_name, 
    avou.first_name, 
    avou.middle_name, 
    avou.phone_1, 
    avou.phone_2, 
    avou.fax, 
    avou.address_1, 
    avou.address_2, 
    avou.city, 
    avou.virtuemart_state_id, 
    avou.virtuemart_country_id, 
    avou.zip, 
    avou.agreed, 
    avou.tos, 
    avou.customer_note, 
    avou.created_on AS created_on_3, 
    avou.created_by AS created_by_3, 
    avou.modified_on AS modified_on_3, 
    avou.modified_by AS modified_by_3, 
    avou.locked_on AS locked_on_3, 
    avou.locked_by AS locked_by_3 
    FROM 
     apef1_virtuemart_orders avo, 
     apef1_virtuemart_order_items avoi, 
     apef1_virtuemart_order_userinfos avou 
    WHERE avo.virtuemart_order_id = avoi.virtuemart_order_id 
    AND avo.virtuemart_order_id = avou.virtuemart_order_id 

あなたが見ることができるようにこれらの名前は、あなたの3つのテーブルで同じであるため、私は列created_oncreated_byなどの別名を使用。必要に応じて名前を調整して、クエリを変更してください。

+0

私は今気付いています。あなたのサポートのために多くの多くのありがとう。素敵な一日をお祈りください – carlo

+0

あなたを助けてうれしい;-)あなたは解決として問題に印を付けてください。 –

+0

nope :(私はこのfeautureを持っていません – carlo

関連する問題