从自引用表获取生育状况
假设您有下表: 项目(item_id,item_parent) ...它是一个自引用表,因为 item_parent 引用 item_id。
您将使用什么 MySQL 支持的 SQL 查询来 SELECT 表中的每个项目以及一个布尔值,该布尔值指示该项目是否是父项目/是否有其他项目引用它?
如果表中有以下数据:
item_id item_parent
----------- -----------
1 0
2 0
3 2
4 2
5 3
...查询应该能够检索以下对象集:
{"item_id":1,"is_parent":0}
{"item_id":2,"is_parent":1}
{"item_id":3,"is_parent":1}
{"item_id":4,"is_parent":0}
{"item_id":5,"is_parent":0}
Let's say you have the following table:
items(item_id, item_parent)
... and it is a self-referencing table as item_parent refers to item_id.
What MySQL supported SQL query would you use to SELECT each item in the table along with a boolean value that indicates whether that item is a parent / has other items referencing to it?
If you have the following data in the table:
item_id item_parent
----------- -----------
1 0
2 0
3 2
4 2
5 3
... the query should be able to retrieve the following set of objects:
{"item_id":1,"is_parent":0}
{"item_id":2,"is_parent":1}
{"item_id":3,"is_parent":1}
{"item_id":4,"is_parent":0}
{"item_id":5,"is_parent":0}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这将返回所有项目和一个整数,指定每个项目有多少个子项:
如果您想要一个布尔值(0 或 1),只需将其更改为:
This returns all items and an integer specifying how many children each has:
If you want a boolean (0 or 1) just change it to: