【发布时间】:2012-08-17 20:09:39
【问题描述】:
我有两张桌子:
任务
id name dueDate 完成项目ID
项目
id 名称到期日期完成
我需要在两个表中查询具有相同数据的行。我尝试做一个示例语句,只查找已完成 = 0 的行,但从未得到任何结果。我认为这与使用 OR 而不是 AND 有关,但它现在只是略高于我的水平......有什么想法吗?
澄清一下,我不是在寻找重复的行,而是在寻找“所有已完成 = 0 的任务和项目”
查询是:
SELECT * FROM "task" t, "project" p WHERE t.dueDate = "2012-08-17" OR p.dueDate = "2012-08-17" AND t.completed = 0 OR p.completed = 0
我确实设法让其中一个答案的代码起作用,但是我意识到我的整个应用程序都是为与一个表对话而编写的,并且将任务表和项目表结合起来并使用isProject 用于区分项目和任务的列。这也增加了在项目中嵌套项目的能力,因为项目现在也将有一个 projectID 列。
最终,KISS 占了上风……
感谢大家的帮助!我会标记有效的答案,即使我不会使用它。
【问题讨论】:
-
您可以发布您尝试过的查询吗?
-
SELECT * FROM "task" t, "project" p WHERE t.dueDate = "2012-08-17" OR p.dueDate = "2012-08-17" AND t.completed = 0 OR p.completed = 0 -
你能发布一些示例数据和预期结果吗?
-
使用
"作为表标识符似乎很奇怪。您确定不打算改用`吗?