0

私は2つのテーブルを持っています.1つはユーザー情報を含み、もう1つは以下のように週の時間を入力しています!

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


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

上記のテーブルから、週末の日付に基づいてテーブル 2 に情報を入力していないユーザーのユーザー ID、ユーザー名、および電子メールをテーブル 1 から取得したいと考えています (週末の日付は検索フィールドで選択され、ハードコードされていません)。

このテーブルを作成するための SQL クエリを教えてください。

4

2 に答える 2

1

SQLFiddleでこの動作するコードを試してください。データと列の定義を投稿していないので、私はweekenddatevarcharであると想定しています。

条件で、日曜日土曜日Weekenddate = 'sunday' OR Weekenddate = 'saturday'の値をパラメーター値に置き換えます。実際、週末の値を持つパラメーターは1つしかないため、条件の句のうちonを使用するだけで済みます。次に、コードをにラップします

`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 に答える