【发布时间】:2012-09-28 23:47:38
【问题描述】:
这里很复杂? (至少对我来说)。我有一个名为tickets 的表,其中id 列是唯一键。我有另一个名为Labels 的表,它没有唯一键(从外观上看)。在Tickets 中,我们存储票信息(消息、制作票的人等)。我们可以在创建工单时为其添加标签,以便我们可以搜索具有这些标签的工单,例如“稍后查看”。
我正在尝试做的是反向类型查询,例如向我展示所有没有与之关联的特定标签的票,例如不要给我看任何带有“稍后查看”的票。如果票没有任何标签,则标签表中没有任何内容。我无法手动或使用查询构建器编写任何类型的查询。
我是我的形象,你可以看到 Tickets.id 有 174 反对它,这也显示在 Labels.ticket_id 174 与 2 x Labels 反对它。
无论我尝试什么查询、加入、执行、不执行等,我要么没有返回任何结果,要么由于某种奇怪的原因,我仍然得到ticket 174 出现。
这是我尝试过的最简单的查询......但是,我想我现在已经尝试了大约 30 次迭代,从简单到非常复杂。
SELECT tickets.id
FROM
tickets, labels_tickets
WHERE
tickets.id <> labels_tickets.ticket_id
GROUP BY
tickets.id
任何人都可以提出为什么这不起作用或想出任何方法来构建一个声明:
显示所有tickets.id 中没有标签“MyLabel”或标签表中根本没有值的门票。
非常感谢!
【问题讨论】:
标签: mysql select key where-clause