我有两张看起来像这样的桌子..
篮子
身份证 | 数组 |
---|---|
1 | ["Apple", "Mango", "Pineapple"] |
2 | ["Mango", "Pineapple"] |
3 | ["Dragonfruit"] |
库存
水果 | 计数 |
---|---|
苹果 | 100 |
芒果 | 500 |
猕猴桃 | 99 |
葡萄 | 0 |
通过 SQL 查询,我必须检查第一个表的数组中有多少水果出现在第二个表中。
例如,out of ["Apple", "Mango", "Pineapple"]
onlyApple
和Mango
is 在 Stock 表中。
预期结果:
身份证 | 可用 |
---|---|
1 | 2 |
2 | 1 |
3 | 0 |
附注。这是我试图解决的实际问题的简化,我的主要查询是如何将对象的 JSON 数组与其他表进行匹配。水果/股票示例仅用于解释问题。
SELECT Baskets.id, COUNT(Stock.Fruit) available
FROM Baskets
LEFT JOIN Stock ON JSON_SEARCH(Baskets.Array, 'one', Stock.Fruit) IS NOT NULL
GROUP BY Baskets.id
https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=a0f8e8fba8851fcda508affca0201ba9
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句