2016-12-15 5 views
2

現在、SQL結合クエリを作成しようとしています。私はこれに対して比較的新しいので、特にc)、d)、e)でエラーが起きたかどうかはわかりません。SQL結合クエリの試行

図1.:データベーススキーマ名「初級スンバ」とフィットネスクラスに加入している顧客の名前が何であるか

Customer 
ID FirstName LastName DateOfBirth 

Instructor 
Id FirstName LastName 

FitnessClass 
Id ClassName Cost InstructorId 

Subscription 
CustomerId ClassId StartDate 

SELECT FirstName, LastName 
FROM Customer, Subscription 
WHERE 
Customer.CustomerID = ClassName. Beginner Sumba 
+0

私はちょうどここに便利なリンクを提供するつもりです - http://www.firstsql.com/tutor2.htm – Anand

+0

私はおそらく初心者ガイドを読むでしょう。それはトラブルシューティングの多くの時間を節約します。あなたの質問に見られる間違ったものはすべて、ガイドが始まるとすぐにカバーされるでしょう。次の再生リストをご覧ください:https://www.youtube.com/watch?v=ZNObiptSMSI&list=PL08903FB7ACA1C2FB – NonProgrammer

+0

ユーザーは適切な 'JOIN'構文を使用してください。 https://www.techonthenet.com/sql/joins.php – Eric

答えて

1

IDでテーブルをジョインし、WHERE句で必要なものをフィルタリングする必要があります。

select c.FirstName, c.LastName 
from Customer c 
join Subscription s on (s.CustomerId = c.ID) 
join FitnessClass f on (f.Id = s.ClassId) 
where f.ClassName = 'Begginer Sumba' 

を見て、他の人を解決しよう:項目Aのための

適切な解決策は次のようにsmtgされるだろう。それ以上の疑問はお尋ねください。

幸運を祈る!

0

残念ながら、あなたの質問はどれも正しいとは思われません。最初に構文を知っておく必要があります。すべての主要なDBMSのヘルプページは、BNFやフローチャート、例を見て正しい構文を学ぶことができます(例えば、http://dev.mysql.com/doc/refman/5.7/en/select.htmlまたはhttp://dev.mysql.com/doc/refman/5.7/en/join.html)。

私は非常にそれがより直感的で読みやすいです、あなたは別名を使用する構文に参加をお勧めします。

a)これを解決する方法を示します。次に、他のショットに別のショットを与えることができます。

SELECT c.FirstName, c.LastName 
FROM Customer c JOIN 
    Subscription s ON s.CustomerId = c.Id JOIN 
    FitnessClass f ON f.Id = s.ClassId 
WHERE f.className = 'Beginner Sumba' 

また、最後の代わりにwhereの参加に条件を置くことができ、私はそれがこのような初心者のためのより少ない混乱だと思いました。