Postgres从表中选择并均匀分布

时间:2017-05-02 10:16:03

标签: postgresql

我有2张桌子。第一个表包含对象的信息,第二个表包含相关对象。第二个表对象有4种类型(让我们调用em A,B,C,D)。

我需要一个类似这样的查询

library(dplyr)
library(tidyr)

data.frame(Name, Cate) %>%
  count(Name, Cate) %>%
  spread(key = Cate, value = n, fill = 0)

列" table1对象id"在实际表中是来自表1的多列数据(对于单个对象,它们都是相同的,因为表2而在多行上重复)。

第二张表的格式

    |table1 object id | A |value for A|B  |  value for B| C | value for C|D  | vlaue for D|
    |     1           | 12| cat       | 13| dog         | 2 | house      | 43| car        |
    |     1           | 5 | lion      |   |             |   |            |   |            |

我希望这很清楚我想要的东西。

我尝试过使用AND和OR和JOIN。这似乎不是可以用交叉表完成的。

EDIT 表2

|type|value|table 1 object id| id |
|A   |cat  |      1          |  12|
|B   |dog  |      1          |  13|
|C   |house|      1          |  2 |
|D   |car  |      1          | 43 |
|A   |lion |      1          | 5  |

表1

|type|value|table 1 object id| id |
 |A   |cat  |      1          |  12|
 |B   |dog  |      1          |  13|
 |C   |house|      1          |  2 |
 |D   |car  |      1          | 43 |
 |A   |lion |      1          | 5  |
 |C   |wolf |      2          |  6 |

结果

| id | value1 | value 2|value 3|
|  1 | hello  | test   | hmmm  |
|  2 | bye    | test2  | hmm2  |

我希望这能解释我想要实现的目标。

0 个答案:

没有答案