2017-06-15 15 views
-1

1つのデータベースに複数のテーブルがあります。同じ列名を持つ複数のテーブルからデータを選択

UserAccountテーブル。 [UserAccountのテーブル] [1]

ユーザテーブル [ユーザーテーブル] [2]

EducationLevels表 EducationLevels table

機関テーブル Institution table

に注意してくださいその両方機関とEducationLevelsテーブル名前は同じです。

データベースを照会しようとしています。

SELECT 
     Users.FirstName, 
     Users.LastName, 
     UserAccounts.OtherNames, 
     UserAccounts.Gender, 
     UserAccounts.DateOfBirth, 
     Institutions.Name as School, 
     EducationLevels.Name as Study 
FROM 
     Users, UserAccounts,Institutions 
WHERE 
     UserAccounts.HighestEducationLevelId = EducationLevels.Id 
     AND 
     UserAccounts.InstitutionId = Institutions.Id 
     AND 
     UserAccounts.UserId = Users.IdUserAccounts 
     AND 
     MobileNumber ='*****'; 

私はエラーを取得:句 "FROM" は、テーブル名を持っていないため

 Error Code: 1054. Unknown column 'EducationLevels.Name' in 'field 
    list' 
+0

from句に「EducationLevels」を含めていません –

+0

from句にEducationLevelsテーブル名が表示されません。このようなテーブル名を追加する* FROM ユーザー、ユーザーアカウント、機関、EducationLevels * – JYoThI

答えて

0

です。また、テーブル名にエイリアスを追加すると、クエリ全体でエイリアスを使いやすくなります。

SELECT 
     usr.FirstName, 
     usr.LastName, 
     accounts.OtherNames, 
     accounts.Gender, 
     accounts.DateOfBirth, 
     inst.Name as School, 
     eduLevel.Name as Study 
FROM 
     Users usr, UserAccounts accounts, Institutions inst, EducationLevels eduLevel 
.... 
0

問題はここにある:

FROM Users, UserAccounts,Institutions 

EducationLevelsテーブルは

あなたは、テーブル名のリストからEducationLevelsを追加することを忘れ、唯一Users, UserAccounts,Institutionsがあるではありません。

+0

ありがとうございました...私は本当によく見えたはずです。 – Edunge

関連する問題