我在我的数据库中有一个“users”表,不幸的是里面有很多乱七八糟的东西,我试着将它移到新的一个。但只是确切的事情不复制/粘贴整个。MySQL SELECT查询WHERE“东西是真的”
下面是实例Db的样子:
-------*/*------------*/*------------*/*------------*/*------------*/*------------
id level name kind status parentId
-------*/*------------*/*------------*/*------------*/*----------*/*------------
EMD123F | 2 | OrgName1 | Org | | rootID
---------------------------------------------------------------------------------
DHAD781 | 3 | UserName1 | Person | active | EMD123F
---------------------------------------------------------------------------------
7AJIZU7 | 3 | UserName2 | Person | active | EMD123F
---------------------------------------------------------------------------------
DME123F | 2 | OrgName2 | Org | | rootID
---------------------------------------------------------------------------------
TT5451AL| 3 | UserName3 | Person | active | DME123F
---------------------------------------------------------------------------------
RRMI7481| 2 | OrgName3 | Org | | rootID
---------------------------------------------------------------------------------
PPUNSAD9| 2 | OrgName4 | Org | | rootID
---------------------------------------------------------------------------------
GJASDNZB| 3 | UserName4 | Person | inactive | PPUNSAD9
---------------------------------------------------------------------------------
KJNSCZM7| 2 | OrgName5 | Org | | rootID
---------------------------------------------------------------------------------
1UZGOPAS| 3 | UserName5 | Person | deleted | KJNSCZM7
---------------------------------------------------------------------------------
你在这里看到什么,有一些“企业”,它有0用户等都是absolutley没用,还有一些组织具有用户,但他们不活动(不活动,删除...)。
我的问题是如何编写一个select语句来获得所有组织在哪里有一个活跃的人在里面。
RealData是一个比较复杂一点,但我尝试这样:
UPDATE users set org_status=1 WHERE (select count(STATUS) FROM users WHERE users.MEMBERKIND="Person" AND users.STATUS="Active" AND users.ROOTORGANIZATIONUSERID= users.ROOTORGANIZATIONIDCORRECTED)>0 AND MEMBERKIND = "Organization" AND LEVEL=2
创建新行“org_status”,并将其设置为NULL之后,我尝试更新它
请提供您到目前为止尝试过的查询/查询。但一个子选择应该工作,我猜(未经测试):'SELECT * FROM orgaTable WHERE(从orgaTable AS用户选择count(*)WHERE users.parentId = orgaTable.id)> 0;' –
可能的重复[如何创建MySQL分层递归查询](http://stackoverflow.com/questions/20215744/how-to-create-a-mysql-hierarchical-recursive-query) – vhu