表中的SQL语句
我想做的是在表中有一个SQL连接。 下面是它的外观: 饼台 蛋糕桌 这就是两个表的外观,我想做的是能够选择cake表,其中表中的SQL语句,sql,sql-server,select,join,sql-like,Sql,Sql Server,Select,Join,Sql Like,我想做的是在表中有一个SQL连接。 下面是它的外观: 饼台 蛋糕桌 这就是两个表的外观,我想做的是能够选择cake表,其中data=70,让它返回cake表的第1行,并返回pie表的第1行和第2行 我并不在乎它是否将它们作为单独的表、行、联接或列返回 我真正想要的是能够向数据库请求data=8,并能够从饼图中返回1、2和3。如果你有什么建议的话,我真的不在乎它是怎么工作的 因此,我希望能够查询蛋糕并获得动态数量的馅饼。如果您能想出一些方法,甚至表也会改变。看起来您需要更新数据库设计 我将从蛋糕表
data=70
,让它返回cake表的第1行,并返回pie表的第1行和第2行
我并不在乎它是否将它们作为单独的表、行、联接或列返回
我真正想要的是能够向数据库请求data=8
,并能够从饼图中返回1
、2
和3
。如果你有什么建议的话,我真的不在乎它是怎么工作的
因此,我希望能够查询蛋糕并获得动态数量的馅饼。如果您能想出一些方法,甚至表也会改变。看起来您需要更新数据库设计 我将从蛋糕表中删除pieId,并创建一个关系表。让我们称之为CakePies with Id,PieId,CakeId。只需将关系添加到该表中 问题是
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
更新
您的CakePies表应如下所示:
CakeID PieId
1 1
1 2
2 2
3 1
3 2
3 3
看起来您需要更新数据库设计 我将从蛋糕表中删除pieId,并创建一个关系表。让我们称之为CakePies with Id,PieId,CakeId。只需将关系添加到该表中 问题是
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
更新
您的CakePies表应如下所示:
CakeID PieId
1 1
1 2
2 2
3 1
3 2
3 3
请看fnSplitString的示例: 从那里开始,尝试:
SELECT c.id, c.data, (SELECT message FROM pie WHERE pieid IN (SELECT * FROM fnSplitString(c.pieid, '@') ) AS 'message'
FROM cake c
WHERE c.data = 8
这有点愚蠢-您最好为pieid列设置一个关系结构:例如:
cake table
Id data pieId
1 70 1
1 70 2
...
请看fnSplitString的示例: 从那里开始,尝试:
SELECT c.id, c.data, (SELECT message FROM pie WHERE pieid IN (SELECT * FROM fnSplitString(c.pieid, '@') ) AS 'message'
FROM cake c
WHERE c.data = 8
这有点愚蠢-您最好为pieid列设置一个关系结构:例如:
cake table
Id data pieId
1 70 1
1 70 2
...
试试这个:
SELECT c.Id, c.data, p.Id, p.type, p.message
FROM cake c
INNER JOIN pie p ON '@' + c.pieId + '@' LIKE '%@' + p.Id + '@%'
WHERE c.data = 70
试试这个:
SELECT c.Id, c.data, p.Id, p.type, p.message
FROM cake c
INNER JOIN pie p ON '@' + c.pieId + '@' LIKE '%@' + p.Id + '@%'
WHERE c.data = 70
您尝试过什么SQL?为什么结果对您不满意?如果您还没有尝试过任何SQL—为什么不尝试在谷歌上搜索连接,看看能找到什么—然后尝试一下…:)您尝试过什么SQL?为什么结果对您不满意?如果您还没有尝试过任何SQL—为什么不尝试在谷歌上搜索连接,看看能找到什么—然后尝试一下…:)直到你发了这封感谢信,我才明白什么是关系表。直到你发了这封感谢信,我才明白什么是关系表