PGSQL-使用外键转换查询结果



我有两个表来描述项目和产品:

类别:

| categoryid   | categoryname     |
| -------------| -----------------|
| 1            | "a"              |
| 2            | "b"              |

项目:

| itemid   | itemname      |
| -------- | --------------|
| 1        | "c"           |
| 2        | "d"           |
| 3        | "e"           |

以及将它们映射在一起的第三个表:

分类项目:

| itemid   | categoryid     |
| -------- | -------------- |
| 1        | 1              |
| 2        | 2              |
| 3        | 2              |

创建一个返回数组'[c,d]'中所有项目名称的项目名称和类别名称的查询的最佳方法是什么:

| itemname | categoryname  |
| -------- | --------------|
| "c"      | "a"           |
| "d"      | "b"           |

您可以在WHERE子句中使用ANY运算符来实现这一点:

select i.itemname, c.categoryname 
from item i
join itemtocategory ic on ic.itemid = i.itemid
join category c on c.categoryid = ic.categoryid
where i.itemname = any(array['c', 'd'])  

条件= any(array['c', 'd'])等价于IN ('c', 'd')

最新更新