如何使用变量检索列值

时间:2014-05-28 20:50:53

标签: sql

我有一个包含Mary,Joe,Pat和Mick列的SQL表 我为每个人每周开支都有一排价值

我想要一个sproc来查询每周的费用值

即。一个带有两个变量@PersonsName和@WeekNumber的sproc并返回一个值

它对我不起作用。如果我在查询中指定了人名,那么它将起作用,但如果我将人名传递给查询则不行。

我把头发拉出来 - 这与Dynamic SQL有关吗?

1 个答案:

答案 0 :(得分:0)

不确定您是否真的在挖掘性能,可扩展性等,因为您的场景似乎是一个小型的个人工具。但仍然......正如juergen建议的那样,你最好以不同的方式设计架构。如果要向数据库中再添加一个人,则当前的设计无法轻松扩展。 相反,你可以有像

这样的东西
  • 人员表(人名,人ID)
  • 费用表(周数,人员ID,费用)

这很好。并且通过索引人员ID,您的查询可以更快

建议除外, Can I pass variable to select statement as column name in SQL Server似乎为您的问题提供了答案