我試圖在SQL運行這個加號,但它給我這個錯誤列定義的含糊SQL加
SELECT reviewer_address, reviewer_name, review_date
FROM reviewers, reviews
INNER JOIN reviews ON reviewers.reviewer_address = reviews.review_date
INNER JOIN reviewers ON reviews.review_date = reviewers_address;
ERROR at line 1:
ORA-00918: column ambiguously defined
有誰知道我做錯了嗎?
這些評語表和評審
CREATE TABLE reviewers (
reviewer_id NUMBER (6),
reviewer_name VARCHAR2 (30),
review_name VARCHAR2 (15),
reviewer_address REF address_type SCOPE IS addresses
);
CREATE TABLE reviews (
review_id NUMBER (6),
review_name VARCHAR2 (30),
review_date DATE,
reviewer_id NUMBER (6) NOT NULL,
venue_id NUMBER (6) NOT NULL
);
而這些插件爲他們兩個表
--reviews
INSERT INTO reviews (review_id, review_name, review_date, reviewer_id, venue_id)
VALUES (1, 'MIKE POWELL', '03-DEC-2015', 1, 1);
INSERT INTO reviews (review_id, review_name, review_date, reviewer_id, venue_id)
VALUES (2, 'JOHN MAYER', '15-MAY-2004', 2, 2);
INSERT INTO reviews (review_id, review_name, review_date, reviewer_id, venue_id)
VALUES (3, 'SETH CONNOR', '25-JAN-2011', 3, 3);
INSERT INTO reviews (review_id, review_name, review_date, reviewer_id, venue_id)
VALUES (4, 'JULIA SMITH', '08-AUG-2013', 4, 4);
INSERT INTO reviews (review_id, review_name, review_date, reviewer_id, venue_id)
VALUES (5, 'MADONNA MARLEY', '30-NOV-2001', 5, 5);
--reviewers
INSERT INTO reviewers (reviewer_id, reviewer_name, review_name, reviewer_address)
SELECT 1, 'MIKE POWELL', 'TEST REVIEW', REF(a)
FROM addresses a
WHERE street = '13 JAMES ROAD';
INSERT INTO reviewers (reviewer_id, reviewer_name, review_name, reviewer_address)
SELECT 2, 'JOHN MAYER', 'MAIN REVIEW', REF(a)
FROM addresses a
WHERE street = '54 BRIDGE STREET';
INSERT INTO reviewers (reviewer_id, reviewer_name, review_name, reviewer_address)
SELECT 3, 'SETH CONNOR', 'CAR REVIEW', REF(a)
FROM addresses a
WHERE street = '10 LIME STREET';
INSERT INTO reviewers (reviewer_id, reviewer_name, review_name, reviewer_address)
SELECT 4, 'JULIA SMITH', 'BEAUTY REVIEW', REF(a)
FROM addresses a
WHERE street = '1 PALL MALL STREET';
INSERT INTO reviewers (reviewer_id, reviewer_name, review_name, reviewer_address)
SELECT 5, 'MADONNA MARLEY', 'CLOTHES REVIEW', REF(a)
FROM addresses a
WHERE street = '28 MAIN ROAD';
我希望這使得它更容易爲你們
你知道你從每個表中選擇兩次? – jarlh
切勿將舊的隱式連接語法與現代的顯式'JOIN'語法混合使用! – jarlh
你真的在比較一個表中的地址和另一個表中的日期嗎?或者是一個錯誤(可能來自編輯)? – mathguy