2016-04-29 4 views
2

私は埋め込まれたJSON値がSQLとredshiftで照会できることを知っています。 (json_extract_path_textのような機能を介して)リストである要素に対して照会することは可能ですか?

しかし、埋め込まれた物のリストを持っていて、それに対して照会できますか?例えば

fruit people_who_like_it 
apples  {[Brian]} 
oranges  {[Susan, Brian]} 
bananas  {[Freddy]} 

ブライアンが好むすべての果物を見つけるためのクエリを作成する方法はありますか?

答えて

0

あなたが試してみました:

SELECT fruit 
FROM yourTable 
WHERE people_who_like_it LIKE '%Brian%'; 

をこれはあなたにブライアンが好きな任意の果物を与える必要があります。

UPDATE:コメントで指摘したように

ブライアンのために完全に一致する結果を得るために、あなたは試みることができる:

SELECT fruit 
FROM yourTable 
WHERE people_who_like_it LIKE '%[Brian]%' 
OR people_who_like_it LIKE '% Brian]%' 
OR people_who_like_it LIKE '% Brian,%' 
OR people_who_like_it LIKE '%[Brian,%'; 

はブライアンの完全一致がどのように見えることができることを4つの可能性があります、を含む:

"[ブライアン]"

"ブライアン]" < --precedingスペース

"ブライアン、" あなたは JSON_EXTRACT_ARRAY_ELEMENT_TEXT機能を使用することができますよりも、あなたはJSON文字列にその文字列を変換することができれば<はスペース

"[ブライアン、"

+0

Mm、この例ではうまくいくので+1します。例えば、 1人は「Cooper」と命名され、他の「Coop」は壊れるだろう。 –

関連する問題