如何从行创建SQL查询结果?

时间:2012-11-03 22:02:46

标签: sql database oracle

从下表中:

  • store(store_id,...){1 ...,2 ...}两个商店
  • 电影(film_id,...)
  • 库存(inventory_id,film_id,store_id)
  • 租赁(rental_id,rental_date,inventory_id,return_date,...)
  • 类别(category_id,名称)
  • film_category(film_id,category_id)
  • 电影(film_id,rental_duration,rental_rate,...)
  • customer(customer_id,store_id,...)

我可以在表格上查询结果,如下所示吗?

CategoryName | "Store 1: avaliable items" | "Store 1: unavaliable items" | "Store 2: avaliable items" | "Store 2: unavaliable items"

请注意,结果表中的存储文件位于不在同一列中的单独列中。

我不是在寻找结果查询,我正在寻找如何将它们并排存储1,存储2。

案例SQL语句可以在这里帮助吗?

1 个答案:

答案 0 :(得分:0)

以下列形式获取您的数据(可能您必须联合多个选择)

category item             count
-------- ---------        -----
cat 1    store1-avail     a1
cat 1    store1-unavail   b1
cat 1    store2-avail     c1
cat 1    store2-unavail   d1
cat 2    store1-avail     a2
cat 2    store1-unavail   b2

然后使用pivot function将其转换为所需的布局

category  store1-avail store1-unavail store2-avail ...
--------- ------------ -------------- ------------
cat 1     a1           b1             c1
cat 2     a2           b2             c2
...