鑑於下面的表結構,如何僅爲具有給定名稱和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