与えられた このドキュメント、結果の個々の列に以下のデータを返すにはどうすればよいですか?
| id | text |
-------------------------------------
| 01 | apple,green,ford,steve |
| 02 | orange,blue,chevy,paul |
| 03 | banana,purple,nissan,james |
結果は次のようになります:
| fruit | color | car | name |
--------------------------------
| apple | green | ford | steve |
| orange | blue | chevy | paul |
| banana | purple | nissan | james |
変数はオプションではないと思います(リンクされたドキュメントにはSETコマンドはありません)。私の最終的な目標は、次のようなことをすることです SELECT DISTINCT car FROM (<parse statement here>)
だから私はすべての車をリストするか、 SELECT name FROM (<parse statement here>) WHERE fruit = "apple"
特定の果物を持つすべての名前を検索します。
回答:
回答№1は2これはキャッシュで動作するはずです:
select * from (
select $PIECE(text,",",1) fruit,
$PIECE(text,",",2) color,
$PIECE(text,",",3) car,
$PIECE(text,",",4) name
from mytable)
where fruit = "apple";