所以我基本上有一个看起来像这样的数据库:
card_types
id description price
1 Card1 1.00
2 Card2 2.00
3 Card3 3.00
card_occasions
id occasion
1 birthday
2 graduation
3 thank you
4 other
type_occasions
ID TypeID OccasionID
1 1 1
2 1 2
3 1 4
4 2 3
我正在尝试使用 WHERE card_type.ID = 1 进行内部联接,从而产生类似的输出,但我不知道从哪里开始。
示例输出:
card_occasion.ID card_occasions.Name
1 birthday
2 graduation
4 other
任何帮助将不胜感激。 感谢。
答案 0 :(得分:1)
由于type_occasions已经拥有typeid,因此您无需加入类型表。
SELECT o.id, o.occassion
FROM card_occasions o
INNER JOIN type_occasions t ON t.occassionid = o.id
WHERE t.typeid = 1
答案 1 :(得分:1)
您从表中所需的值开始。在Join
表之后,您需要建立关系。
SELECT card_occasions.id, card_occasions.occasion
FROM card_occasion co
INNER JOIN type_occasions to ON (to.OccasionID = co.id)
^ the relation between two table
WHERE ct.ID = 1
答案 2 :(得分:1)
SELECT A.id,A.occasion FROM card_occasions A JOIN type_occasions B ON B.OccasionID= A.id AND B.TypeID=1
答案 3 :(得分:1)
如果你真的想要链接所有三个表,我们在这里看不到你可以使用这个方法。这将开始从type_occasion表链接到适当的“基本数据”表。
Select
typeo.OccasionID, co.occasion as Name
From type_occasion typeo
JOIN card_type ct ON (typeo.TypeID=ct.id)
JOIN card_occasion co ON (typeo.OccasionID=co.id)
Where
typeo.TypeID=1
-- ct.id=1