gpt4 book ai didi

mysql - SQL JOIN,其中 tab1.colA 值位于 tab2.colB 的 JSON 列表中

转载 作者:行者123 更新时间:2023-11-29 17:34:47 25 4
gpt4 key购买 nike

我有几张表:products , transactions , styles 。 SQL 查询连接 productsstyles到一张包含我技术上需要的所有信息的表中。但是我需要按 timestamp 对信息进行排序当那product被购买了。因此我需要加入transactions与先前连接的输出:

交易

| 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 结构。

我如何执行这样的连接?

最佳答案

尝试在 where 子句中添加类似的内容

AND exists(select value from openjson(productids) p where p.value in (select productid from products))

关于mysql - SQL JOIN,其中 tab1.colA 值位于 tab2.colB 的 JSON 列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50377280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com