2013-10-02 4 views
0

A MySQL Query для поиска с помощью следующей SQLMysql ошибка союза и в пункте

SELECT societa.nome, documenti.document, soieditor.nominativo, document_revision.* 
FROM document_revision 
     JOIN societa ON societa.id = document_revision.societa 
     JOIN documenti ON documenti.id = document_revision.tipo_document 
     JOIN soieditor ON soieditor.id = document_revision.createdby 
     WHERE document_revision.id in(
     (
    (SELECT id from document_revision WHERE `description` LIKE '%f%' OR `tag` LIKE '%f%' OR `lingua` LIKE '%f%') 
    union 
    (SELECT doc_rev_id from document_metadata WHERE `met_key` LIKE '%f%' OR `meta_value` LIKE '%f%') 
    union 
    (SELECT doc_id from document_files WHERE `file_name` LIKE '%f%'))) 

дает мне следующую ошибку «# 1064 - У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать вблизи «объединение (SELECT doc_rev_id из document_metadata ГДЕ met_key LIKE„% fwdfdfdfd“в строке 1»

пожалуйста помочь мне неприятности снимать ошибку.

ответ

1
SELECT societa.nome, 
    documenti.document, 
    soieditor.nominativo, 
    document_revision.* 
FROM document_revision 
    JOIN societa ON societa.id = document_revision.societa 
    JOIN documenti ON documenti.id = document_revision.tipo_document 
    JOIN soieditor ON soieditor.id = document_revision.createdby 
WHERE document_revision.id in 
(
    SELECT id as ii 
    from document_revision 
    WHERE description LIKE '%f%' OR tag LIKE '%f%' OR lingua LIKE '%f%' 

    union 

    SELECT doc_rev_id as ii 
    from document_metadata 
    WHERE met_key LIKE '%f%' OR meta_value LIKE '%f%' 

    union 

    SELECT doc_id as ii 
    from document_files 
    WHERE `file_name` LIKE '%f%' 
) 
0

Попытка поставить псевдоним на первом подзапроса вашего союза цепи, таким образом:

SELECT societa.nome, documenti.document, soieditor.nominativo, document_revision.* 
FROM document_revision 
JOIN societa ON societa.id = document_revision.societa 
JOIN documenti ON documenti.id = document_revision.tipo_document 
JOIN soieditor ON soieditor.id = document_revision.createdby 
WHERE document_revision.id in(
(
    (SELECT id as myid -- alias named your output field 
    from document_revision 
    WHERE `description` LIKE '%f%' OR `tag` LIKE '%f%' OR `lingua` LIKE '%f%') 
    union 
    (SELECT doc_rev_id 
    from document_metadata WHERE `met_key` LIKE '%f%' OR `meta_value` LIKE '%f%') 
    union 
    (SELECT doc_id from document_files WHERE `file_name` LIKE '%f%') 
) 
) 
Смежные вопросы