this img represents two of tables i have on my mysql server one is called tlocation and the other one is temployee

社区大家好!

我希望有人可以帮助我解决我的问题。
表“ tlocation”用于获取某项目在xxxxx组织的清单中带有“ TRANSACTION”列的每项变动的记录,这种变动可以分配或发放给员工或部门。值(6)表示分配给部门,值(7)表示释放部门。
我已经使用雇员完成了项目和部门之间的关联,因为我无法在表中添加另一列。然后我搜索员工的“ ID_DEPARTMENT”进行过滤。

这是事情,现在我正在尝试进行一个查询,该查询将结果中仅分配了当前已分配但尚未发布的表“ tlocation”上的元素作为结果。在img中,您可能会看到“ ID_ITEM” = 2在表上两次,分别用于分配和释放给员工(3)部门(3)。

谢谢。

最佳答案

select id_item,count(*) as theCount
from tlocation
where transaction in (6,7)
group by id_item
having theCount=1;


请更正Linux的区分大小写

结果行是2

+---------+----------+
| id_item | theCount |
+---------+----------+
|     103 |        1 |
|     176 |        1 |
+---------+----------+


就像我在上面的评论中说的那样,它假定任何7个对象都具有6个优先级。因此,这取决于了解您的数据。

10-08 00:11