我有一个表 FOLDERS
,每次通过 php 页面添加文件夹时,它都会插入到 FOLDERS 中。
每个文件夹都有这些字段:id,userid,foldername
我简化了表格以使我的问题更容易理解。
ID UID 文件夹名称
1 - 1 - 书籍
2 - 1 - 收据
3 - NULL - 书籍
4 - NULL - 收据
5 - NULL - 主页
6 - 2 - 收据
我想知道如何得到第五行结果。 条件是:第 5 行没有任何 UID(它是空的)并且没有 uid。当我使用时:
$sql="SELECT * FROM folders WHERE userid=''";
这将返回所有具有空用户 ID 的行。结果我只想要 5,因为 UID=1 已经设置了他的文件夹 Receipts and Books。 任何建议都会帮助我已经为此苦苦挣扎了几个小时。谢谢
最佳答案
将空用户 ID 行的条件 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
)
关于php - mysql 显示表中添加的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9961335/