2014-12-09 2 views
0

Как я могу получить этот запрос для запроса нескольких значений?sql-запрос с несколькими значениями

Это работает. Посмотрите на последнюю строку:

SELECT part_groups, part_categories, critical_part, part_groups_count, project FROM 
    (SELECT part_groups.name as part_groups, part_groups.critical_part as critical_part, part_categories.name as part_categories, projects.action_code as project, COUNT(part_groups.id) as part_groups_count, to_tsvector(part_groups.name) || to_tsvector(part_categories.name) || to_tsvector(projects.action_code) as document 
    FROM part_groups 
    CROSS JOIN projects 
    CROSS JOIN phases 
    JOIN part_categories ON part_categories.id = part_groups.part_category_id 
    GROUP BY part_groups.name, part_groups.critical_part, part_categories.name, projects.action_code, phases.name) 
    p_search WHERE p_search.document @@ to_tsquery('queryOne'); 

Это не работает. Опять же последняя строка:

SELECT part_groups, part_categories, critical_part, part_groups_count, project FROM 
    (SELECT part_groups.name as part_groups, part_groups.critical_part as critical_part, part_categories.name as part_categories, projects.action_code as project, COUNT(part_groups.id) as part_groups_count, to_tsvector(part_groups.name) || to_tsvector(part_categories.name) || to_tsvector(projects.action_code) as document 
    FROM part_groups 
    CROSS JOIN projects 
    CROSS JOIN phases 
    JOIN part_categories ON part_categories.id = part_groups.part_category_id 
    GROUP BY part_groups.name, part_groups.critical_part, part_categories.name, projects.action_code, phases.name) 
    p_search WHERE p_search.document @@ to_tsquery('queryOne', 'queryTwo'); 
+0

Вам не хватает закрывающейся кавычки после 'queryOne' – CactusCake

+0

@ Joe да, это было бы проблемой. Однако, не моя проблема. это была опечатка в моем вопросе. В запросе, который я запускал, действительно были правильные цитаты. Извинения :) – isea

ответ

1

Я не знаю, что to_tsquery принимает множественный запрос аргументы. Попробуйте это:

WHERE p_search.document @@ to_tsquery('queryOne | queryTwo') 

или

WHERE p_search.document @@ to_tsquery('queryOne & queryTwo') 

в зависимости от вашего намерения.

+0

Отлично, спасибо! – isea

Смежные вопросы