![](/img/trans.png)
[英]Dynamically passing the column name as well the values in python mysql query
[英]MySQL query with column of null values
我有这个问题:
user = self.db.query("SELECT DISTINCT u.id, u.name, n.network_id, n.perm \
FROM users as u LEFT OUTER JOIN nets_permissions as n \
ON u.id = n.user_id WHERE u.id!=%s", int(usr_id))
列'perm'(权限)是一个int值,可以是1,2,3,ecc等值。 或空值。 我想要一个像这样的查询:
user = self.db.query("SELECT DISTINCT u.id, u.name, n.network_id, n.perm \
FROM users as u LEFT OUTER JOIN nets_permissions as n \
ON u.id = n.user_id WHERE u.id!=%s" AND n.perm!=3, int(usr_id))
所以,我希望从查询中删除perm = 3的记录。
我认为我可以用这种方式检索perm = 3的用户的id:
self.lock_tables("read", ['nets_permissions'])
admin = self.db.query("SELECT user_id FROM nets_permissions \
WHERE network_id=%s AND perm=3", nid)
self.unlock_tables()
然后我就可以写了
self.lock_tables("read", ['users as u', 'nets_permissions as n'])
user = self.db.query("SELECT DISTINCT u.id, u.name, n.network_id, n.perm \
FROM users as u LEFT OUTER JOIN nets_permissions as n \
ON u.id = n.user_id WHERE u.id!=%s AND u.id!=%s", int(usr_id), int(admin))
self.unlock_tables()
但这不起作用....
任何想法?
谢谢
尝试这个
SELECT DISTINCT u.id, u.name, n.network_id, n.perm
FROM users as u
LEFT OUTER JOIN nets_permissions as n
ON u.id = n.user_id
AND n.perm<> 3
WHERE u.id!=%s
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.