我有几张table: products
, transactions
, styles
. sql查询联接 products
以及 styles
一个包含我技术上需要的所有信息的表。不过,我需要对这些信息进行分类 timestamp
什么时候 product
已购买。所以我需要加入 transactions
使用前一个join的输出:
交易
| id | timestamp | productIDs |
|----|---------------------|----------------|
| 0 | 2014-08-04 07:56:54 | ["ID1", "ID2"] |
| 1 | 2014-08-04 07:56:57 | ["ID3", "ID4"] |
产品+款式
| productID | styleID | ... |
|-----------|---------|-----|
| ID1 | aaa | ... |
| ID2 | bbb | ... |
| ID3 | ccc | ... |
| ID4 | ddd | ... |
我要找的是:
| productID | styleID | timestamp | ... |
|-----------|---------|---------------------|-----|
| ID1 | aaa | 2014-08-04 07:56:54 | ... |
| ID2 | bbb | 2014-08-04 07:56:54 | ... |
| ID3 | ccc | 2014-08-04 07:56:57 | ... |
| ID4 | ddd | 2014-08-04 07:56:57 | ... |
中的每一行 products + styles
,从中添加时间戳 transactions
,在哪里 productID
存在于 productIDs
json结构。
如何执行这种连接?
2条答案
按热度按时间gmxoilav1#
尝试在where子句中添加类似的内容
sycxhyv72#
@rohit.007您的事务表未规范化。理想情况下,对于每个唯一的条目,它应该有多行。
最后,我创建了一个单独的表,其中包含一个数字索引、事务id和产品id。它为作为事务一部分购买的每个产品保存单独的行。