2016-05-03 11 views
0

私はMySQLを使用していると私は私がこのような列を手配しようとしている。このクエリエラーコード:1066ないユニークなテーブル/別名:「ファイル」

を2つのohterテーブルから列を結合し、実行しようとしています

  • Transaction.TransactionID
  • Transaction.TransactionDate
  • Transaction.Amount
  • TransactionDescription.Description
  • File.StartDate
  • File.EndDate
  • File.FileName

    SELECT Transaction.TransactionID、Transaction.TransactionDate、Transaction.Amount、TransactionDescription.Description 、File.StartDate、File.EndDate、File.Filenameトランザクション INNER FROM JOINはTransactionDescription ON TransactionDescription.Description = TransactionDescription.Description INNERがFile.StartDate = File.StartDate上のファイルを登録しよう INNERがFile.EndDate = File.EndDate上のファイルを登録しよう INNERはFile.Filename =ファイル上のファイルを登録しよう。 Filenam e ; クエリが実行されると、このエラーが発生します

    エラーコード:1066.ユニークでないテーブル/エイリアス: 'ファイル' エラーはなぜ表示されますか?

+0

達成しようとしていることは何ですか?いくつかのサンプルデータとその結果を共有できますか? – Mureinik

+0

は結合条件テーブルの名前がテーブル 'ファイル 'に対して異なっていなければなりません –

+0

ファイルはKEYWORD !!!!ですので、BACKTICKSでそれを引用する必要があります –

答えて

0

あなたのクエリで3つのFileのテーブルを持っているので、MySQLはFileを言うときに意味どの1知る方法がありません。通常、別のテーブルエイリアスを割り当てることを修正します。しかし、あなたは実際に同じテーブルに3回参加する必要があるのはむしろ変だと感じています。私はあなたが一度だけ望む印象を持っています:

SELECT Transaction.TransactionID, Transaction.TransactionDate, Transaction.Amount, TransactionDescription.Description 
,File.StartDate, File.EndDate, File.Filename 
FROM Transaction 
INNER JOIN TransactionDescription ON TransactionDescription.Description = TransactionDescription.Description 
INNER JOIN File ON File.StartDate = File.StartDate 
    AND File.EndDate = File.EndDate 
    AND File.Filename = File.Filename 
+0

はいこれは感謝しました:) –

関連する問題