【问题标题】:Compare and insert date and calendar week with two different tables使用两个不同的表比较并插入日期和日历周
【发布时间】:2021-09-18 14:48:22
【问题描述】:

我的数据库中有两个表。在第一个表中是一个名为 date 的列,我在其中以 1 天的间隔插入一个日期期间。第二个表是同一日期期间的日历周和一个自动增量列weekid

例如,我有 日历周 25 和 weekid 145(保存在第二个表中)。日期区域为 21.06-27.06 并保存在第一个表中。 现在我想将 weekid 插入到与日历周匹配的每一天(date)的第一个表中。

这是我的桌子:

CREATE TABLE `day` (
  `dayid` int(255) NOT NULL AUTO_INCREMENT,
  `userid` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `date` date NOT NULL,
  PRIMARY KEY (`dayid`)

CREATE TABLE `week` (
  `weekid` int(255) NOT NULL AUTO_INCREMENT,
  `userid` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `calendar week` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `year` year(4) NOT NULL,
  PRIMARY KEY (`weekid`

表“day”的示例输出: 周末:145 用户名:589 日期:2021-05-06

表“week”的示例输出: 周末:145 用户名:589 日历周:25 年份:2021

有人知道如何进行日期比较吗?

【问题讨论】:

  • 通过多表 UPDATE 查询来做到这一点。
  • @Akina 我编辑了我的问题以进行澄清。我的问题是我不知道如何编码日期比较。例如,我有第 25 周的日历,其 weekid 为 145(保存在第二个表中)。日期区域为 21.06-27.06 并保存在第一个表中。现在我想将 weekid 插入到与 datearea 匹配的第二个表中
  • 提供示例数据作为 CREATE TABLE + INSERT INTO(每个表 3-5 行)和该数据的所需输出。还要指定您的 SQL Server DBMS 和精确版本。
  • @Akina 我无法上传数据库的图像:/ 我使用的是 Mysql。我对数据库编程真的很陌生,所以我不知道你所说的 DBMS 是什么意思。
  • 无法复制图片中的数据。 我使用 Mysql。 提供SHOW VERSION(); 输出以获得精确版本。提供SHOW CREATE TABLE tablename; 输出。提供一些数据(看起来像真实的值,手工制作,格式化表格)。

标签: php mysql sql date mariadb-10.4


【解决方案1】:

如果在第二张表中你没有每周的日期,你可以在第一张表上计算它吗?

SELECT (EXTRACT(DOY FROM date_in_table1)/7)

应该产生某个日期的工作周。

【讨论】:

  • 我有一个日期区域,例如 21.06-27.06。我将一周中的每一天都插入到我的第一个表中。使用此日期区域,我还将日历周(在此示例中为 25)插入到第二个表中,没有问题。当插入到第二个表中时,自动增量列 weekid 会为日历周提供一个 id。我想将此 ID 插入到与该周匹配的第一个表中。
猜你喜欢
  • 2021-03-15
  • 1970-01-01
  • 1970-01-01
  • 2011-10-01
  • 1970-01-01
  • 2017-10-23
  • 2019-10-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多