我想在表“项目”上的搜索请求建立一个SQL查询。 搜索也与其他与项目表有关系的表有关。SQL多重连接与空结果
我想:
SELECT projects.*
FROM projects
LEFT JOIN documents ON documents.projectID = projects.id
LEFT JOIN subdocuments ON documents.id = subdocuments.documentID
LEFT JOIN subdocuments_tags ON subdocuments.id = subdocuments_tags.subdocumentID
JOIN tags ON subdocuments_tags.tagID = tags.id
WHERE (projects.name LIKE "%Test%"
OR projects.clientName LIKE "%Test%"
OR projects.description LIKE "%Test%"
OR projects.defaultTags LIKE "%Test%"
OR documents.name LIKE "%Test%"
OR subdocuments.name LIKE "%Test%"
OR documents.description LIKE "%Test%"
OR subdocuments.description LIKE "%Test%"
OR tags.name LIKE "%Test%")
AND (projects.hidden = 0
OR projects.ownerID = 2
OR projects_users.userID = 2)
GROUP BY projects.id
ORDER BY projects.updateTime DESC;
的问题是,如果项目没有任何证件,结果总是空的,即使没有一个WHERE子句。
J OIN标记ON正在创建问题,请尝试将它作为左连接 –
有一个“内连接”,可能是问题,如果可以,则将其设置为“左连接”。 –
谢谢-_-它的工作原理 – user1423647