我需要帮助进行内部联接。
我必须使用表格,一个名为Cycletype
,另一个名为Cykler
。
Cycletype
有一个名为Type
的列。在本专栏中,我命名了不同类型的cycles
。
在我的另一张表Cykler
上,我有一些列中包含有关cycles
和fk_cycletype_Id
列的数据,以便他们可以相互链接。
我的问题是我不知道如何在我的CS文件中编写代码。
这是我到目前为止所写的(不工作):
SELECT * FROM Cykler
INNER JOIN Cycletype
ON Cykler.fk_cycletype_Id = id
WHERE id = @id
我对内连接的经验很多,所以我完全迷失了,我非常需要帮助。
在我的前端页面上,我有6张不同类型cycles
的不同图片,因此当我点击mountainbikes
时,它应显示来自{{1}的所有mountainbikes
}}。但是,如果有人可以,我需要帮助吗?
表格的图片描述
答案 0 :(得分:1)
如果没有看到其他列名称,很难说清楚......
但是......你的“id”列是否可能存在于两个表中......因此命名表可以解决问题......
SELECT * FROM Cykler
INNER JOIN Cycletype ON Cykler.fk_cycletype_Id = Cycletype.id
WHERE Cycletype.id = @id
答案 1 :(得分:0)
select *
from Cykler c
inner join CycleType ct on ct.ID = c.fk_cycletype_Id
where c.ID = @ID
然后,您可以通过选择ct.Type或类型字段的名称在CycleTypes中来访问Type。
编辑 - 看到第二张照片后
这应该有效:
select ct.Type
from Cykler c
inner join Cycletype ct on ct.Cycletype_Id = c.fk_cycletype_Id
where c.ID = @ID
我在选择中放了ct.Type,当然你可以选择你需要的任何东西。
答案 2 :(得分:0)
根据您的问题和评论,您的查询应为:
SELECT * FROM Cykler
INNER JOIN Cycletype
ON Cykler.fk_cycletype_Id = Cycletype.Cycletype_Id
WHERE Cycletype_Id = @id