我的提取物需要一些帮助。下面是我的数据视图以及它是如何从MS SQL数据库中提取的。
我的挑战是数据库没有区别于不同的“电子邮件地址”。如何将电子邮件地址记录链接到上面的记录。
Secid|Name|Question|Answer|
2|load1|Name of Principle|Joe Make|
2|load1|Contact Number|12234423|
2|load1|Email address|joemake@mymail.com|
2|load1|Name of Principle|Amy Soup|
2|load1|Contact Number of Principle|23134|
2|load1|Email address|amysoup@mymail.com|
2|load1|Name of Teacher|james blue|
2|load1|Contact Number|8787878|
2|load1|Email Address|jamesblue@mymail.com|
2|load1|Name of Secretary|CHARLES black|
2|load1|Contact Number|989897|
2|load1|Email Address|chblack@mymail.com|
答案 0 :(得分:0)
如果您没有任何要订购的列(例如,单调增加的标识列或时间戳),我真的害怕您的运气不好。无法保证任何查询行的任何排序。
可以做什么,然后将数据导出到Excel工作表中,然后手动查看并按正确的顺序排列,假设您可以弄明白。不幸的是,这确实是唯一的方法。
如果您有一个可以订购的列,您可以使用联接对行进行分组,假设您有办法识别每个集合的开头 - 在您的情况下,Question like 'Name of %'
应该可以正常工作。假设一个名为Id
的标识列,如:
select t.*, tGroupStart.Id as GroupId
from myTable t
join myTable tGroupStart on tGroupStart.Id <= t.Id
and tGroupStart.Question like 'Name of %'
where not exists (
select 1
from myTable t2
where t2.Id <= t.Id
and t2.Question like 'Name of %'
and t2.Id > tGroupStart.Id
)