0

我有两张表,一张包含用户信息,另一张输入了如下几周的时间!

Table1
------
UserID (PK)
Username
Email
Phone


Table2
------
Timesheetid (PK)
UserID (FK)
Weekenddate(date)
Totaltimeworked

从上面的表格中,我想根据周末日期(在搜索字段中选择周末日期并且未硬编码)从表 1 中为尚未在表 2 中输入信息的用户检索用户 ID、用户名和电子邮件。

请帮助我使用 SQL 查询来创建此表。

4

2 回答 2

1

在SQL Fiddle上试试这个工作代码。由于您没有发布任何数据和列定义,我假设weekenddate它是一个 varchar。

在条件下用您的参数值Weekenddate = 'sunday' OR Weekenddate = 'saturday'替换星期日星期六的值。事实上,您只需要使用条件子句中的一个,因为您只有一个带有周末值的参数。然后只需将代码包装成

`INSERT INTO your_new_table (UserID, Username)`
于 2012-09-18T08:31:52.377 回答
0

考虑到您的 Totaltimeworked 列是最新的:

CREATE TABLE newTable(
  UserID int not null,
  Weekenddate date not null,
  FOREIGN KEY(UserID) REFERENCES Table1(UserID)
    ON DELETE CASCADE ON UPDATE CASCADE
);
INSERT INTO newTable (UserID, Weekenddate) 
    (SELECT (UserID, Weekenddate) FROM Table2 WHERE Totaltimeworked > 0);

或者,如果您只针对 1 个特定周,请不要将 Weekenddate 添加到 newTable 并将查询修改为

INSERT INTO newTable (UserID)
    (SELECT (UserID) FROM Table2 WHERE Totaltimeworked > 0
         AND Weekenddate = 'year-month-day');
于 2012-09-18T08:17:42.067 回答