我有一个表FOLDERS
,每次通过php页面添加文件夹时,它都会插入到FOLDERS中。每个文件夹都有以下字段:id,userid,foldername
我简化了表格,使我的问题更容易理解。
ID UID文件夹名称
1-1-书籍
2-1-收据
3-空-书籍
4-空-收据
5-空-主页
6-2-收据
我想知道怎样才能排到第五排。条件是:第5行没有任何UID(为空),并且is不带UID。当我使用:
$sql="SELECT * FROM folders WHERE userid=''";
这将返回所有具有空userid的行。我只想要5,因为UID=1已经设置了他的文件夹"收据和书籍"。任何建议都会帮助我,我已经为此挣扎了几个小时了。感谢
将空userid行的条件userid IS NULL
与NOT IN()
子查询相结合,后者返回在其他行中具有userid
的所有不同文件夹名称。
SELECT *
FROM hpoptions
WHERE
userid IS NULL
AND foldername NOT IN (
SELECT DISTINCT foldername FROM hpoptions WHERE userid IS NOT NULL
)