SELECT DISTINCT sectionID FROM (
(SELECT sectionID,MATCH (content) AGAINST ('blah') AS relevance
FROM sectioncontent WHERE MATCH (content) AGAINST ('blah')) AS alias
UNION DISTINCT
(SELECT sectionID,MATCH (name, description) AGAINST ('blah') AS relevance
FROM sections WHERE MATCH (name, description) AGAINST ('blah'))
)
J'utiliserais éventuellement GROUP BY et ORDER BY mais je n'arrive pas à faire fonctionner ce qui précède. Tout point dans la bonne direction serait très apprécié, merci!Deux recherches mysql en texte intégral avec union mais retour d'un champ distinct
C'est ce que j'utilisais à l'origine, mais il retournerait deux résultats avec le même sectionID (un de la table section et un de la table sectioncontent) puisque les champs de pertinence n'étaient pas les mêmes.
(SELECT sectionID,MATCH (content) AGAINST ('blah') AS relevance
FROM sectioncontent WHERE MATCH (content) AGAINST ('blah'))
UNION DISTINCT
(SELECT sectionID,MATCH (name, description) AGAINST ('blah') AS relevance
FROM sections WHERE MATCH (name, description) AGAINST ('blah'))
ORDER BY relevance DESC
sectionID relevance
32 6.42576837539673
32 2.10306763648987
Pouvez-vous fournir une alter table pour vos deux tables, afin que je puisse les créer localement? –
Pouvez-vous expliquer plus en détail, pourquoi vous unioning votre table à elle-même? –
Vous ne savez pas ce que vous voulez dire par alter. Ce que j'ai, c'est deux tables, sections et contenu de section. Les sections ont le nom de la section, la description et d'autres champs qui se rapportent à la section. – Sam