I've got to search in 3 differents tables a term. Here are my 3 requests, I'd like to make only one. Tables are teledis, afr, software_cache. If you want, here is my schema : http://imgur.com/aHqtE5P
SELECT teledis.nameid
FROM teledis
LIKE vulcain = '%XXX%';
SELECT teledis.nameid
FROM joinafr
JOIN teledis
ON joinafr.teledis_id = teledis.idteledis
JOIN afr
ON joinafr.afr_id = afr.idafr
WHERE afr.name LIKE '%XXX%';
SELECT teledis.nameid
FROM softs
JOIN software_cache
ON softs.id_soft_cache = software_cache.id
JOIN joinsoft
ON softs.idsofts = joinsoft.soft_id
JOIN teledis
ON joinsoft.soft_id = teledis.idteledis WHERE software_cache.name LIKE '%XXX';
SELECT teledis.nameid
FROM teledis
WHERE vulcain LIKE '%XXX%'
UNION
SELECT teledis.nameid
FROM joinafr
JOIN teledis
ON joinafr.teledis_id = teledis.idteledis
JOIN afr
ON joinafr.afr_id = afr.idafr
WHERE afr.name LIKE '%XXX%'
UNION
SELECT teledis.nameid
FROM softs
JOIN software_cache
ON softs.id_soft_cache = software_cache.id
JOIN joinsoft
ON softs.idsofts = joinsoft.soft_id
JOIN teledis
ON joinsoft.soft_id = teledis.idteledis WHERE software_cache.name LIKE '%XXX';
You can try something like this:
SELECT teledis.nameid, afr.name, software_cache.name
FROM softs
JOIN software_cache
ON softs.id_soft_cache = software_cache.id
JOIN joinsoft
ON softs.idsofts = joinsoft.soft_id
JOIN joinafr
ON joinafr.teledis_id = teledis.idteledis
JOIN teledis
ON joinsoft.soft_id = teledis.idteledis
JOIN afr
ON joinafr.afr_id = afr.idafr
WHERE afr.name LIKE '%XXX%' OR software_cache.name LIKE '%XXX';
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.