我当前有一个字符串,它表示表中的结构列表。我想根据结构中元素的值在另一个表中查找值。
例如,下面的car info结构是[spare,cartype,carcolour]。
╔═══════════════════════════╗
║ CarInfo ║
╠═══════════════════════════╣
║ “[1,1,1]” ║
║ “[1,2,1] [1,1,2]” ║
║ null ║
║ “[1,2,1] [1,1,2] [1,1,1]” ║
╚═══════════════════════════╝
我想查一下table:
╔═══════════╦═══════════════╦═════════════╦═════════════════╦══╗
║ CarTypeId ║ CarTypeString ║ CarColourId ║ CarColourString ║ ║
╠═══════════╬═══════════════╬═════════════╬═════════════════╬══╣
║ 1 ║ "Hyundai" ║ 1 ║ "Red" ║ ║
║ 1 ║ "Hyundai" ║ 2 ║ "Blue" ║ ║
║ 2 ║ "Toyota" ║ 1 ║ "Green" ║ ║
║ 2 ║ "Toyota" ║ 2 ║ "Yellow" ║ ║
╚═══════════╩═══════════════╩═════════════╩═════════════════╩══╝
得到如下结果:
╔═════════════════════════════════════════════════════╗
║ CarInfo ║
╠═════════════════════════════════════════════════════╣
║ “[1,Hyundai,Red]” ║
║ “[1,Toyota,Green] [1,Hyundai,Blue]” ║
║ null ║
║ “[1,Toyota,Green] [1,Hyundai,Blue] [1,Hyundai,Red]” ║
╚═════════════════════════════════════════════════════╝
我发现我可以用somestring.split(carinfo,'')将字符串拆分成数组,但此后我不确定如何将其转换为struct或之后的“循环”左连接。
1条答案
按热度按时间js4nwp541#
下面是bigquery标准sql
如果要应用于您问题中的样本数据-如下面的示例所示
输出为