2017-11-12 7 views
-1

実行しようとすると「ユニークではないテーブル/エイリアス:呼び出し元」というエラーが表示されますが、何を意味するのかわかりませんが、二つのテーブル倍異なる値にSQLでユニークではないテーブル/エイリアスエラー

SELECT Company_name,Contact_id, COUNT(Company_name) as nc 
FROM Customer 
JOIN Caller ON Customer.Company_ref = Caller.Company_ref 
JOIN Caller ON Customer.Contact_id = Caller.Caller_id 
JOIN Issue ON Caller.Caller_id = Issue.Caller_id 
GROUP by Company_name, Contact_id 
HAVING COUNT(Company_name) < 5 
+0

こんにちは。あなたの特定の名前のないエラーメッセージと番号をGoogleにお知らせください。そして、GoogleのSQLのユニークなテーブル '&' SQLの一意のエイリアス 'などあなたはこのエラーを取得する最初の人ではありません。下矢印のマウスオーバーテキストと[ask]を読んでください。 – philipxy

答えて

1

あなたは混乱を避けるために、この場合には...別の名前にそれを呼び出すか、両方のテーブルの名前が異なるために同じテーブルを使用している場合は、AとB

SELECT Company_name,Contact_id, COUNT(Company_name) as nc 
FROM Customer 
JOIN Caller A ON Customer.Company_ref = A.Company_ref 
JOIN Caller B ON Customer.Contact_id = B.Caller_id 
JOIN Issue ON A.Caller_id = B.Caller_id 
GROUP by Company_name, Contact_id 
HAVING COUNT(Company_name) < 5 
をしましょう
0

列名を修飾する必要があります。私は推測することができます:

SELECT c.Company_name, c.Contact_id, COUNT(*) as nc 
FROM Customer JOIN 
    Caller co 
    ON co.Company_ref = c.Company_ref JOIN 
    Caller ca 
    ON c.Contact_id = ca.Caller_id JOIN 
    Issue i 
    ON ca.Caller_id = i.Caller_id 
GROUP by c.Company_name, c.Contact_id 
HAVING COUNT(*) < 5; 

クエリ内に複数のテーブルがある場合は常に、テーブルのエイリアスと修飾されたテーブル名を使用する必要があります。

データが表示されていない場合、これが何か役立つかどうかはわかりません。異なるキー上の同じテーブルへの2つの結合は不審です。