表中的SQL语句

Sam*_*son 1 sql sql-server select join sql-like

我想要做的是在表中有一个SQL连接.这是它的样子:

馅饼桌

Id       type message
1        2    'hello'
2        0    'bye'
3        2    'meh'
Run Code Online (Sandbox Code Playgroud)

蛋糕桌

Id      data     pieId   
1       70       1@2
2       6        2
3       8        1@3@2
Run Code Online (Sandbox Code Playgroud)

这就是两个表的样子,我想要做的是能够选择蛋糕表,data = 70并让它返回蛋糕表的第1行,并返回饼表的第1行和第2行.

我并不在乎它将它们作为单独的表,行,连接或列返回.

我真正想要的是能够让数据库data = 8和能够返回1,2以及3从派表.如果您有任何建议,我真的不在乎它是如何工作的

所以我希望能够查询蛋糕并获得动态数量的馅饼.如果您能想到某种方式,即使是表格也可以改变.

H20*_*der 7

看起来您需要更新数据库设计

我会从蛋糕表中删除pieId并创建一个关系表.让我们用Id,PieId,CakeId称它为CakePies.只需将关系添加到该表即可

查询将是

    Select * 
from Cake c
Inner join CakePies cp on c.Id = cp.CakeId
inner join Pies p on p.Id = cp.PieId
where Data = 70 -- or whatever filter you want
Run Code Online (Sandbox Code Playgroud)

更新 您的CakePies表应如下所示:

CakeID   PieId
1        1
1        2
2        2
3        1
3        2
3        3
Run Code Online (Sandbox Code Playgroud)