task_list
表:
CREATE TABLE "task_list" (
"task_id" INTEGER NOT NULL,
"task_code" TEXT NOT NULL,
"title" TEXT NOT NULL,
"description" TEXT NOT NULL,
"department_id" INTEGER NOT NULL,
"employee_id" INTEGER,
"status" INTEGER NOT NULL DEFAULT 1,
"date_created" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
"date_updated" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
"date" TEXT,
PRIMARY KEY("task_id" AUTOINCREMENT),
FOREIGN KEY("employee_id") REFERENCES "employee_list"("employee_id") on DELETE SET NULL,
FOREIGN KEY("department_id") REFERENCES "department_list"("department_id") on DELETE CASCADE
);
task_assignees
表:
CREATE TABLE "task_assignees" (
"task_id" INTEGER NOT NULL,
"employee_id" INTEGER NOT NULL,
FOREIGN KEY("task_id") REFERENCES "task_list"("task_id") on DELETE CASCADE,
FOREIGN KEY("employee_id") REFERENCES "employee_list"("employee_id") on DELETE CASCADE
);
employee_table
:
CREATE TABLE "employee_list" (
"employee_id" INTEGER NOT NULL,
"employee_code" INTEGER NOT NULL,
"fullname" INTEGER NOT NULL,
"email" TEXT NOT NULL,
"password" TEXT NOT NULL,
"gender" TEXT NOT NULL,
"dob" DATE NOT NULL,
"contact" TEXT NOT NULL,
"address" TEXT NOT NULL,
"department_id" INTEGER NOT NULL,
"type" TEXT NOT NULL,
"status" INTEGER NOT NULL DEFAULT 1,
"date_created" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
"date_updated" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY("department_id") REFERENCES "department_list"("department_id") on DELETE CASCADE,
PRIMARY KEY("employee_id" AUTOINCREMENT)
);
获取分配给特定用户的任务的查询:
"SELECT * FROM `task_list` where task_id in (SELECT task_id FROM `task_assignees` where employee_id = '{$_SESSION['employee_id']}') order by strftime('%s',date_created) desc";
查询今天有截止日期的任务:
"SELECT * FROM `task_list` where DATE(`date`) = DATE('now') ";
我想联接这两个查询,这样我就可以获取分配给其会话处于活动状态且截止日期为今天的用户的任务列表。
<?php
$sql = "SELECT *
FROM task_list
where task_id
in (SELECT task_id
FROM task_assignees
where employee_id = '{$_SESSION['employee_id']}'
)
AND (DATE(date)=DATE(now))";
$qry = $conn->query($sql);
$i = 1;
while($row = $qry->fetchArray()):
?>
1条答案
按热度按时间a11xaf1n1#
表名和属性不使用引号(``&‘)。以下是正确的代码: