MySql查询:使用连接获取数据不是很好的结果

时间:2011-07-03 12:23:52

标签: mysql

我有两个表:EmployeeInfo表(表1)和ItemsInfo表(表2):

表1:

enter image description here

表2:

enter image description here

在UI界面中,我有两个DIV图层 - 左边div和右边div。左侧div应加载与员工无关的项目数据,右侧div应加载与员工关联的数据。

例如,在页面加载时,对于empid = 201的员工,两个div中的数据应该填充如下: enter image description here

要实现这一点,我希望mysql查询输出如下:

enter image description here

这是返回的json对象输出如下:

[{"empid":"","itemid":"1","items":"Apple"},{"empid":"201","itemid":"2","items":"Banana"},{"empid":"","itemid":"3","items":"Baseball"},{"empid":"","itemid":"4","items":"Bikes"},{"empid":"201","itemid":"5","items":"Blue"}]

这样我就可以使用getJson方法将数据推送到适当的div。如果empid = null,则如果empid = 201,则要在左侧div中推送数据,将数据推送到右侧div。

我尝试使用Left Join但是,因为在表1中,所有字段值都重复多次,所以我得不到确切的查询输出。

请帮助我如何实现上述方案..提前致谢。

2 个答案:

答案 0 :(得分:1)

您提出的所有UI内容都难以阅读您的问题。要获取您请求的查询输出,请执行以下操作:

select t1.empid, t2.itemid, t2.items 
  from Itemsinfo t2 left join EmployeeInfo t1 on t1.itemid=t2.itemid and empid=201;

答案 1 :(得分:0)

最终,我在@ivy的一些指导下自行解决了这个问题。以下是获取确切输出的查询:

select t2.itemid, t2.items, t1.empid from t2 left join t1 on t2.itemid=t1.itemid and empid=201