0

次のクエリはエラーをスローします。

SELECT * FROM proposal_data
  INNER JOIN proposal_data
      ON proposal_data_second.proposal_id = proposal_data.proposal_id

  INNER JOIN proposal_data_second   
      ON proposal_data_third.proposal_id =  proposal_data_second.proposal_id
  INNER JOIN proposal_data_third
      ON proposal_data_fourth.proposal_id = proposal_data_third.proposal_id

エラーは次のとおりです。

#1066 - Not unique table/alias: 'proposal_data'

私は何を間違っていますか?

4

1 に答える 1

1

テーブルを間違って結合しています。

現在のクエリでは、宣言する前にテーブルを結合しています。

たとえば、最初の 3 行を取る

SELECT * FROM proposal_data
  INNER JOIN proposal_data
      ON proposal_data_second.proposal_id = proposal_data.proposal_id

ここでは、テーブルを宣言する前に参加proposal_dataしています。proposal_data_secondproposal_data_second

peoposal_dataまた、テーブル名を 2 回使用する必要はありません。

SELECT * FROM proposal_data
  INNER JOIN proposal_data --This is invalid syntax

これを試して:

SELECT * FROM proposal_data
   INNER JOIN proposal_data_second
           ON proposal_data_second.proposal_id = proposal_data.proposal_id
   INNER JOIN proposal_data_third
           ON proposal_data_third.proposal_id = proposal_data_second.proposal_id
   INNER JOIN proposal_data_fourth
           ON proposal_data_fourth.proposal_id = proposal_data_third.proposal_id

詳細については、MySQL:JOIN構文を参照してください。

于 2013-04-27T07:03:46.133 に答える