我有两个表,Books
和Authors
。
桌子 Books
ID Title Authors
1 apple 1;2;3;
2 cancer 1;5;
桌子 Authors
ID Name
1 John
2 Mike
3 Joe
4 Katy
5 Sara
我需要一个查询,结果是
ID Title Authors
1 apple John;Mike;Joe
2 cancer John;Sara
这个怎么样?但是,您必须确保Books表中的Authors列始终具有有效数据。
SELECT ID,
Title,
STUFF(CAST((SELECT ';' + aut.Name
FROM Authors aut
WHERE aut.ID IN
(SELECT CAST(Split.a.value('.','VARCHAR(max)') AS int) As bid
FROM
( SELECT CAST ('<M>' + REPLACE(LEFT(Authors, DATALENGTH(Authors)-1), ';', '</M><M>') + '</M>' AS XML) AS Data
) AS A CROSS APPLY Data.nodes ('/M') AS Split(a))
FOR XML PATH(''), TYPE))AS nvarchar(max)), 1,1,'')
FROM Books
问题内容: 我试图通过首先从成功完成的列“ SupplierId”中转换逗号分隔的值来尝试连接两个表。但是,当我尝试通过外键“ DCLink”连接到另一个带有“供应商”名称的表“供应商”时,就会出现问题。 这就是我的意思: 原始表的选择语句, 得到这个结果 我可以使用此sql语句从SupplierId拆分列 并得到这些结果 但是,当我应用这段代码将InquiryDetails表连接到供应商名称上的
问题内容: 我有一个这样的表: Department是另一个具有dept_id和dept_name作为列的表。我想要这样的结果, 有什么帮助吗? 问题答案: 您可以按照以下方式进行操作: 编辑: 基于我需要加入哪一列?在一个表中,我有逗号分隔的ID,而在其他表中,我只有ID
问题内容: 我返回的值包含255个逗号分隔的值。有没有一种简单的方法可以将其拆分为不具有255 substr的列? 到 问题答案: 您可以使用: 我建议您在Excel(或其他电子表格)中生成255个数字的列,并使用电子表格生成SQL代码。
我已经查看了Pandas的内置csv功能,但是我的csv数据保存在一个列表中。我如何简单地将列表隐藏到一个7列的数据帧中。 提前谢了。
我得到了以下数组: 我想将其转换为以下内容: 做这件事最好的方法是什么? 到目前为止我已经试过了,所以得到了钥匙,但是它们的值是错误的:
问题内容: 我有2张桌子如下 笔记表 职位表 我想查询我的Notes表并将’forDepts’列与Positions表中的值相关联。 输出应为: 我知道数据库应该规范化,但是我不能更改此项目的数据库结构。 这将用于使用以下代码导出excel文件。 此代码仅输出“ forDepts”的第一个值 考试:执行人员(而不是执行人员,公司行政人员,Art) 可以通过CONCAT或FIND_IN_SET完成吗