我在数据库中有两个表:
CREATE TABLE items(
id SERIAL PRIMARY KEY,
... some other fields
);
Run Code Online (Sandbox Code Playgroud)
此表包含具有唯一ID的数据行.
CREATE TABLE some_chosen_data_in_order(
id SERIAL PRIMARY KEY,
id_items INTEGER[],
);
Run Code Online (Sandbox Code Playgroud)
);
该表包含数组类型字段.每行包含items特定顺序的表中ID的值.例如:{2,4,233,5}.
现在,我想从表中获取表items中所选行的数据,some_chosen_data_in_order以及数组类型中元素的顺序.
我的尝试是加入:
SELECT I.* FROM items AS I
JOIN some_chosen_data_in_order AS S ON I.id = ANY(S.id_items) WHERE S.id = ?
Run Code Online (Sandbox Code Playgroud)
第二次尝试是子查询,如:
SELECT I.* FROM items AS I
WHERE I.id = ANY
(ARRAY[SELECT S.id_items FROM some_chosen_data_in_order WHERE id = ?])
Run Code Online (Sandbox Code Playgroud)
但是它们都没有以与数组字段相同的顺序保存ID.你能帮我吗,如何从items表中获取数据,并从some_chosen_data_in_order表格中获取特定行的数据ID顺序?
我正在使用Sphinx 0.9.9-release(r2117)和sphinxapi.php(http://code.google.com/p/sphinxsearch/source/browse/tags/REL_0_9_9_RC2/api/sphinxapi.php).
当我在命令shell中测试搜索时:"search -i INDEX_NAME test"一切都很完美,但当我通过sphinxapi.php连接到Sphinx时会发生此错误.
sphinx.conf配置正确,索引创建...
什么想法可能是错的?