2012-03-02 79 views
-1

嘿,我試圖努力完成在線提問,瞭解SQL和我試圖創建一個視圖。在創建SQL視圖 - 重複的字段錯誤

我創建工作,現在試圖把它變成一個視圖,按照網上指令時,雖然並輸入要創建一個視圖我拿出重複字段錯誤的腳本SELECT查詢。

我看着它,它可能是「doctor.fullname」爲重複場但這是從另一個表。 Andway我已刪除並仍嘗試過,但仍然出現錯誤。 我知道這可能是一個簡單的解決方案,很抱歉打擾你,但它將不勝感激。

CREATE VIEW patient_registration_form 
AS 
SELECT 
    patient.patient_id, 
    patient.nok_no, 
    patient.f_name, 
    patient.s_name, 
    patient.sex, 
    patient.dob, 
    patient.marital_status, 
    patient.date_registered, 
    nok.tel_no, 
    nok.full_name, 
    nok.address, 
    nok.relationship, 
    doctor.doctor_id, 
    doctor.clinic_no, 
    doctor.full_name, 
    doctor.address 
FROM doctor, patient, nok 
WHERE doctor.doctor_id = patient.doctor_id 
AND nok.nok_no = patient.nok_no; 
+1

我仍然看到doctor.full_name在此查詢(即衝突與nok.full_name)。您可以使用AS(例如'doctor.full_name AS doctorfull_name')將兩者或兩者中的一個別名( – 2012-03-02 18:32:33

+1

)並且請停止使用那種可怕的隱含連接語法。這是一個SQL反模式,並在20年前被天賦取代! – HLGEM 2012-03-02 18:39:20

+0

@HLGEM你知道我看到很多,特別是使用mySQL。不知道爲什麼;我想知道如果一些教程顯示。 – ScottJShea 2012-03-02 18:47:37

回答

0

你列出了兩個full_name ...一個nok.full_name,一個用於doctor.full_name。需要重新命名,如nok.full_name as nok_full_name

+0

感謝您的時間 – 2012-03-02 18:45:23

2

你返回多個列具有相同的名稱... full_nameaddress ...即使他們來自不同的表是。在這種情況下,你必須給他們不同的別名:

SELECT 
    patient.patient_id, 
    patient.nok_no, 
    patient.f_name, 
    patient.s_name, 
    patient.sex, 
    patient.dob, 
    patient.marital_status, 
    patient.date_registered, 
    nok.tel_no, 
    nok.full_name as nok_full_name, 
    nok.address as nok_address, 
    nok.relationship, 
    doctor.doctor_id, 
    doctor.clinic_no, 
    doctor.full_name as doctor_full_name, 
    doctor.address as doctor_address 
+0

感謝您的時間 – 2012-03-02 18:46:57