所以,这是我的数据库:
Item
+---------+-------+
| item_id | name |
+---------+-------+
| 1 | item1 |
| 2 | item2 |
| 3 | item3 |
| 4 | item4 |
+---------+-------+
Type
+---------+-------+
| type_id | name |
+---------+-------+
| 1 | type1 |
| 2 | type2 |
| 3 | type3 |
+---------+-------+
Relation
+-----------+-----------+---------+
| a_item_id | b_item_id | type_id |
+-----------+-----------+---------+
| 1 | 2 | 1 |
| 2 | 3 | 1 |
| 1 | 2 | 2 |
| 4 | 1 | 3 |
+-----------+-----------+---------+
我想获取特定项目的关系。例如SELECT ... WHERE item_id = 1
应该输出:
+-----------+-------------+-----------+-------------+---------+
| a_item_id | a_item_name | b_item_id | b_item_name | type_id |
+-----------+-------------+-----------+-------------+---------+
| 1 | item1 | 2 | item2 | 1 |
| 1 | item1 | 2 | item2 | 2 |
| 4 | item4 | 1 | item1 | 3 |
+-----------+-------------+-----------+-------------+---------+
- 项目的位置 (a/b) 很重要。
- 对于相同的type_id,两个item之间只有一种关系。(不能颠倒位置)
查询会很好,但如果您知道如何使用 medoo ( http://medoo.in/api/select ),我将非常感谢它的转换。