内连接SQL 2表

时间:2016-02-10 16:53:43

标签: sql

我需要帮助进行内部联接。

我必须使用表格,一个名为Cycletype,另一个名为Cykler

Cycletype有一个名为Type的列。在本专栏中,我命名了不同类型的cycles

在我的另一张表Cykler上,我有一些列中包含有关cyclesfk_cycletype_Id列的数据,以便他们可以相互链接。

我的问题是我不知道如何在我的CS文件中编写代码。

这是我到目前为止所写的(不工作):

SELECT * FROM Cykler 
    INNER JOIN Cycletype 
    ON Cykler.fk_cycletype_Id = id 
    WHERE id = @id

我对内连接的经验很多,所以我完全迷失了,我非常需要帮助。

在我的前端页面上,我有6张不同类型cycles的不同图片,因此当我点击mountainbikes时,它应显示来自{{1}的所有mountainbikes }}。但是,如果有人可以,我需要帮助吗?

http://imgur.com/RnL93cY

表格的图片描述

3 个答案:

答案 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