在一个单元格中查询SQL Server 2012数据库的多个值

时间:2014-11-11 14:11:58

标签: sql sql-server sql-server-2012 helpers

我的数据库包含End_user列,其中包含Name, City, Country, Plant_name, Unit_ID列和Project_NR

现在,End_user可能位于多个城市或多个PlantsunitsProject_nr的国家/地区。因此,数据库应该能够在这些单元格中具有多个值。

我尝试了多个查询,但我确实遇到了错误。

示例:

  • 姓名: Petrol
  • 城市:阿姆斯特丹,雷克雅未克
  • 国家:荷兰,雷克雅未克
  • Plant_name: Plant_1,Plant_2,Plant_3
  • Unit_ID: 123,345
  • Project_NR: 1234,2123,3 3456,7856

有人可以帮我查询吗?

1 个答案:

答案 0 :(得分:1)

将多个值存储在一行的单个字段中是不好的做法。如果不详细了解如何构建,您应该考虑您要回答的问题。因此,我假设您的主表为每个最终用户提供了多条记录(如果它们位于多个城市或国家/地区)?我想你想要一个表,你想要每个最终用户1条记录。那么这张桌子的目的是什么?也许考虑做一些像城市这样的事情,例如这个最终用户有2个城市。如果您需要详细信息,请切换回您的表,每个最终用户有2条记录。或者你可以创建标志字段,例如伦敦的一个字段和纽约的字段,您可以将标记设置为1或0.这只能以非常有限的方式工作,但可能适用于您的数据集。