繁体   English   中英

MySQL,在多个表上联接&不是IN?

[英]MySQL, JOIN over multiple tables & Not IN?

在我的应用程序(图像投票)中,我具有用户,投票者和管理员的几个角色。

为用户选择看起来像这样:

SELECT * from wp_awa_upload, category, subcategory 
WHERE wp_awa_upload.uid = '$_SESSION[id]' 
AND wp_awa_upload.parent_cat = category.cat_id 
AND wp_awa_upload.sub_cat = subcategory.id

用户只能看到自己的图像,但选民应该看到他尚未投票的所有图像。 当选民投票时,表“ wp_awa_session”中将有一个新条目,其中包含上载图像的ID和他自己的ID。 因此,必须在上面的Select中使用“并且Session_ID和Uploaded ID不在表wp_awa_session中的情况”。

我该如何实现?

这是正确的选择:-)

 SELECT * FROM wp_awa_upload wau JOIN category c ON ( wau.parent_cat = c.cat_id ) JOIN subcategory s ON s.id = wau.sub_cat WHERE STATUS = '1' AND ( wau.id, wau.uid ) NOT IN ( SELECT upload_id, user_id FROM wp_awa_session WHERE user_id = '$_SESSION[id]' AND upload_id = wau.id ) 

谢谢你的帮助 :-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM