【问题标题】:Ways to join and update tables in SQL在 SQL 中连接和更新表的方法
【发布时间】:2011-03-28 00:32:47
【问题描述】:

所以我是这里的第一次用户,对 SQL 还是比较陌生。我正在尝试占用 2 张桌子,并在某种意义上加入它们。

在表 1 中我有数据:

House_Key ---Other Fields---   Customer_ID

House_Key 不是唯一的,因此每个家庭可以有多个 Customer_ID。 House_Key 是一个数字代码,Customer_ID 是 Home、Business 或 Bulk。

在表 2 中,我有 House_Key 字段,但没有 Customer_ID 字段。

我的目标是创建一个包含 Table2 字段的新表,其中包含一个名为 Customer_ID 的字段,但我不想像表 1 那样为每种类型的 Customer_ID 都创建一个新行,我希望每个 House_Key 只有一行,并且 Customer_ID 表示“Home Business Bulk”之类的内容,如果它是全部三个或它们的任意组合,但希望它始终在字段中具有 Home 之前的 Business 之前的 Bulk。

有没有办法做到这一点?非常感谢您。

另外,不确定它是否重要,但如果它重要,我使用的是 SQL Server 2005。

【问题讨论】:

  • 有办法做到这一点,但你可能不想这样做。由于您是 SQL 新手,我强烈建议您阅读数据库规范化。您所要求的是应该在如何显示数据而不是如何存储数据中处理的东西。此外,考虑到它所代表的内容,“Customer_ID”似乎是一个名称非常糟糕的列。

标签: sql sql-server join relational-database sql-update


【解决方案1】:

哇,很高兴你来这里寻求答案,但似乎你真的需要阅读有关关系数据库的知识。

这里没有写冗长的答案,而是链接:

http://en.wikipedia.org/wiki/Database_normalization

http://en.wikipedia.org/wiki/Join_(SQL)

【讨论】:

  • 我一直讨厌老年人向我发送维基百科链接,但它很短,示例很好,而且是免费的。我希望 Shavus 不会觉得它冒犯。
  • 谢谢,现在通读一遍。我认为我 60% 的问题是我提供了一个 ACL 脚本并被告知将其转换为 SQL。所以虽然我对 SQL 知之甚少,但我对 ACL 却一无所知,而且逻辑似乎天差地别。
猜你喜欢
  • 2011-05-05
  • 1970-01-01
  • 2014-08-24
  • 2014-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-24
  • 1970-01-01
相关资源
最近更新 更多