在过去的几天里,我一直在试图找到这个问题的答案。虽然我还没有找到答案,但这个网站一直出现在我的搜索结果中,所以我想我会试一试。顺便说一句,帖子的格式选项很棒。
我有一张像这样的桌子:
user_id | form_id | question_id | data_label | data_value
1 1 1 firstName Joe
1 1 2 lastName Smith
1 1 3 phone 5554443333
2 1 1 firstName Sally
2 1 2 lastName Jones
2 1 3 phone 3334445555
我想变成:
user_id | firstName | lastName | phone
1 Joe Smith 5554443333
2 Sally Jones 3334445555
我可以找到如何做到这一点的例子。我不太了解它们,但它们就在那里。当这个单一的表包含从具有任何可能数量的字段的各种表单输入的数据时,我的独特问题就会生效。所以,我可能有一张桌子:
user_id | form_id | question_id | data_label | data_value
1 1 1 firstName Joe
1 1 2 lastName Smith
1 1 3 phone 5554443333
2 1 1 firstName Sally
2 1 2 lastName Jones
2 1 3 phone 3334445555
3 2 1 fav_color red
3 2 2 fav_animal eagle
4 2 1 fav_color blue
4 2 2 fav_animal dog
然后,我将 form_id 作为参数传递,从该表单中收集按用户分组的所有记录(它们都应该具有具有不同值的相同标签),然后将该数据显示为:
...当 form_id = 1 时,报告如下所示:
user_id | firstName | lastName | phone
1 Joe Smith 5554443333
2 Sally Jones 3334445555
...当 form_id = 2 时,报告如下所示:
user_id | fav_color | fav_animal
3 red eagle
4 blue dog
我是高级 SQL 编程和程序的新手,无法自己弄清楚如何做到这一点。我需要查询能够处理任何数量/类型的字段,而不必在每个表单的查询中输入确切的可能字段名称。请注意,上面的第一个查询有四个字段,而第二个查询有 3 个。因此解决方案需要以这种方式灵活。
SQL 也可以从编程语言生成,因此如果有帮助,该解决方案还有更多选项。
如果您没有足够的信息,请通知我。