从SQL查询在一列中获取多个值

卢卡斯·普埃拉里(Lucas Puerari)

我有3张桌子。

A 桌子:

id_a | description
-------------------
  1  |      X   
  2  |      Y        
  3  |      Z 
  4  |      H 

B 桌子:

id_b | description
-------------------
  1  |      J   
  2  |      K        
  3  |      W 

C 桌子:

id_c | idex_a | idex_b | quantity
----------------------------------
  1  |    1   |   1    |   10 
  2  |    1   |   2    |   32 
  3  |    2   |   3    |   41 
  4  |    1   |   3    |   10 
  5  |    3   |   2    |   24 
  6  |    3   |   3    |   26 

如何获得此结果?

A.id_a | A.description | All B.description, B.quantity IN C WHITH A.id_a = C.idex_a
   1   |       X       | J[10], K[32], W[10]
   2   |       Y       | W[41]
   3   |       Z       | K[24], W[26]
   4   |       H       | 
钾盐

您可以尝试以下操作:

select a.id_a
      , a.description
      , coalesce( group_concat(distinct concat(b.description, '[', c.quantity, ']') order by b.id_b separator ', ')
                , '') 
from a
left join c on a.id_a = c.idex_a
left join b on b.id_b = c.idex_b
group by a.id_a
       , a.description

SQLFiddle

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SQL使用多个查询从同一表中获取多个值(来自同一列)

SQL查询以获取另一列中每个唯一值的最大值

如何使用一个SQL查询更新一列中的多个值?

SQL查询来获取计算一行从同一列中的值

SQL查询以获取一列中最流行的值

如何从一列中获取多个列,SQL

如何在SQL中查询一列的多个条件?

从表的同一列中获取多个值

SQL查询在每一列中返回相同的值

创建列,从一列中获取多个值,从另一列中获取实际值

如何在一列SQL中存储多个值

Linq 查询以获取来自另一列条件的多个列值的计数

查询SQL表以根据另一列中的过滤器获取一列中的所有新值

SQL查询从同一列的多个值循环一行

遍历一列中的多个值

在一列中更改多个值

查询以从一行的同一列中获取计算值

从同一查询的同一列中获取两个值

查询以获取一列的唯一值并复制另一列的值

SQL选择与另一列中的多个值匹配的列的值?

SQL-更新多个表,一个查询中的同一列

如何在多个csv文件中获取每一列的唯一值

SQL 获取一列的值,使得另一列中的某个值不存在

如何使用联接查询一列中具有多个值的表

SQL - 为给定列中的值获取另一列的值

Spark SQL:当另一列是 groupBy().agg() 中的最大值时获取列的值

从SQL查询中获取数据,其中另一列是唯一的

SQL-从另一个表中获取一列以加入此查询

SQL语句-在一个列中获取多个值