我有一个包含三个表的数据库。每个表都是另一个表的高度。表格是Dog,Gender,Name。
Dog表包含品种的名称和id。性别表包括狗品种的id,id和性别。名称表包括狗的名字,性别ID以及它的年龄。
以下列方式建立关系。狗 - >性别 - >名称。
根据狗的身份,将所有狗的名字和性别拉出来的最佳方式是什么?我知道我必须使用加入,而且老实说,我并不是那么精通。
Psuedo代码我想出了
加入狗的性别上的名字。这是对的吗?
ID,姓名,性别ID,年龄
id,sex,breed id
id,name,breed id
答案 0 :(得分:0)
您的SQL应该如下所示:
SELECT Breed.Breed, Gender.Sex, Dog.Name FROM Dog
JOIN Gender ON Dog.GenderID = Gender.ID
JOIN Breed ON Gender.BreedID = Breed.ID
WHERE Dog.ID = 'YourDogIDHere'
它将返回以下内容:
品种|性爱|名称
-------- | -------- | -------
牧羊犬|男|蓬松
牧羊犬|女|多孔
修改:已修改为包含品种和重新排序列。