【问题标题】:UPDATE with GROUP BY without selecting something from table使用 GROUP BY 更新而不从表中选择某些内容
【发布时间】:2014-09-22 08:28:34
【问题描述】:

我已经生成了随机的邮政编码,我想将UPDATE 发送到我的表格中。我的表中有一些随机生成的街道名称,但有重复,因为它模拟了来自城市的日志记录。

如何使用UPDATE 语句在每条街道名称中插入相同的邮政编码?

例子:

STREET   | POSTAL
--------------------
Street 1 | 12345
Street 2 | 54321
Street 1 | 12345
Street 3 | 67891

半伪代码:

UPDATE TABLE_CHARGE SET COLRW_POSTAL =  @randomPostalcode
GROUP BY COLRW_STREET

澄清: 我不需要SELECT 任何东西。我只需要UPDATE 一栏。 GROUP BY 子句应该对街道名称进行分组,以便每个街道名称都有自己的 psotalcode。由于存在重复,我不能只运行UPDATE 语句,因为所有内容都会得到一个随机的邮政编码。

如果有什么不清楚的地方请追问。

提前致谢。

【问题讨论】:

  • 你能添加你需要的输出吗?
  • 我不明白GROUP BY 位在这里的作用。如果您只使用 UPDATESET 子句运行查询,它对您有什么问题?
  • @Ullas 感谢您的回复!我想要的输出是每个街道名称都有相同的邮政编码。如果我运行上述查询,我​​表中的每一行都有不同的邮政编码。正如我所提到的,那里有重复的街道,因为它需要模拟来自幻想城市的伐木(供学生使用)。我的问题是,当我运行UPDATE 语句时,每一行都有另一个邮政编码。
  • @Damien_The_Unbeliever 感谢您的回复! GROUP BY 子句应该执行以下操作:对表中的街道名称进行分组,然后设置邮政编码。这样每条街道都有相同的邮政编码。

标签: sql sql-server tsql group-by sql-update


【解决方案1】:

试试这个:

UPDATE TABLE_CHARGE SET COLRW_POSTAL = (ROUND((RAND()* 10000),0))

【讨论】:

  • 您好,感谢您的回复。你能解释一下你想在这里做什么吗?要么我没有正确理解,要么你误解了我的问题。在此先感谢:)
  • 您不想为您的问题中的每个街道名称分配一个随机数字作为相同的邮政编码吗?
  • 我有随机的邮政编码。我还有 1150 条街道名称记录。但是,只有 250 个独特的街道名称。我是故意这样做的。现在我想UPDATE我的邮政编码。它需要一些随机数。我想更新邮政编码,但我想要每个不同的街道名称 1 邮政编码。提前致谢。
【解决方案2】:

我有点想通了。我制作了一张包含随机街道名称和随机邮政编码的表格,然后将其导出到我的最终表格。

感谢您的建议!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2012-02-05
    • 1970-01-01
    相关资源
    最近更新 更多