鉴于下面的表结构,如何仅为具有给定名称和user_id的行选择具有相同根和级别值的行?选择具有相同列值的行
Category
+----+---------+------+------+-------+
| id | user_id | name | root | level |
+----+---------+------+------+-------+
| 1 | 10 | wzq | 1 | 1 |
| 2 | 11 | xyz | 2 | 1 |
| 3 | 10 | xyz | 2 | 2 |
| 4 | 10 | xyz | 2 | 2 |
+----+---------+------+------+-------+
什么我现在也选择不具有相同的根和水平
SELECT `c`.`id`, `c`.`user_id`, `c`.`name`, `c`.`root`, `c`.`level`
FROM `category` `c`
WHERE c.id IN (SELECT d.id FROM category AS d WHERE c.root=d.root AND c.level=d.level) AND c.user_id = 10 AND c.name = 'xyz'
ORDER BY `c`.`id`
对于上面的例子只是第3和第4行应退还
它会帮助,如果你能后的预期成果。 –
你能举一个例子你的预期输出应该是什么? –
所有user_ids(和名称)都是相同的。那是故意的吗? – Strawberry