我在SQLite数据库中有一列数据,表明该行中包含哪些传感器数据。问题是一次可以更新多个传感器,由|分隔而且没有保证的顺序。
我的表Data
中包含的内容:
*-------*----------------------*
* RowID * Sensor *
*-------*----------------------*
* 1 * 'EEG|Eyetracker|GSR' *
* 2 * 'Eyetracker|GSR' *
* 3 * 'GSR|EEG' *
* 4 * 'EEG|EyeTracker' *
*-------*----------------------*
我想提取所有唯一的传感器名称,如下所示:
*------------*
* Sensor *
*------------*
* EEG *
* Eyetracker *
* GSR *
*------------*
然后用一个带有外键的表替换单个Sensor列:
* -----------*------------*
* Sensor * Data.RowID *
* -----------*------------*
* EEG * 1 *
* Eyetracker * 1 *
* GSR * 1 *
* EyeTracker * 2 *
* GSR * 2 *
* GSR * 3 *
* EEG * 3 *
* EEG * 4 *
* EyeTracker * 4 *
* -----------*------------*
我环顾四周,但this answer和this answer特定于SQL Server,而不是SQLite。 This answer 是纯SQLite,但实际上并不是我想要的。
我认为这可能是CTE的一个用例,但我不知道如何使用CTE。