postgresql - 合并两个结果

标签 postgresql spree

我想在产品属性中合并我的 postgres 查询的结果。目前它给了我这些结果:

name        id   value                  sku     item_count
Item # 1    3    Item                   IT-EM1  3
Item # 1    2    006058465456           IT-EM1  3
Item # 2    3    Item                   IT-EM2  1
Item # 2    2    055045004505           IT-EM2  1

我希望它返回以下内容:

name       id#1   value#1    id#2    value#2         sku       item_count
Item # 1   3      Item       2       006058465456    IT-EM1    3
Item # 2   3      Item       2       055045004505    IT-EM2    1

id 是产品属性 ID(2 是 GTIN,3 是品牌),value 是该特定产品属性的值。我的查询如下:

SELECT
    p.name,
    l.property_id AS id,
    l.value AS value,
    v.sku,
    s.count_on_hand AS item_count,
FROM
    spree_variants v INNER JOIN
    spree_products p ON v.product_id = p.id LEFT OUTER JOIN
    spree_stock_items s ON v.id = s.variant_id INNER JOIN
    spree_product_properties l ON l.product_id = p.id
WHERE
    s.count_on_hand > 0

有什么想法吗?

最佳答案

我自己回答的。也许不是最优雅的解决方案,但是:

SELECT
    p.name,
    l.property_id AS id,
    l.value AS value,
    li.property_id AS id_two,
    li.value AS value_two,
    v.sku,
    s.count_on_hand AS item_count,
FROM
    spree_variants v INNER JOIN
    spree_products p ON v.product_id = p.id LEFT OUTER JOIN
    spree_stock_items s ON v.id = s.variant_id INNER JOIN
    spree_product_properties l ON l.product_id = p.id INNER JOIN
    spree_product_properties li ON li.product_id = p.id
WHERE
    s.count_on_hand > 0 AND
    l.property_id = 2 AND
    li.property_id = 3

再次将产品属性列添加为不同的变量(l 和 li),然后在 WHERE 中定义 l.property_id = 2 和 li.property_id = 3

关于postgresql - 合并两个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30306120/

相关文章:

sql - 简化 WHERE (NOT) IN (...) 和 WHERE (NOT) IN (...)

postgresql - 使用 github.com/mgutz/dat 库运行示例脚本

php - 如何在任何条件下将 php 数组传递给 postgres 查询

ruby-on-rails - 登录后 spree 重定向

ruby-on-rails - Ransack:页面大小可以自定义吗?

ruby-on-rails - 如何完全自定义 spree View ?

ruby-on-rails - 在 Ubuntu 中运行 rails s 命令时出错

postgresql - Select 返回不一致的数据

ruby-on-rails - 带条件查询的 Rails、Heroku 和 PG 语法错误

ruby-on-rails - Spree 仅在不同页面的侧边栏上显示选定的分类单元