【发布时间】:2011-11-24 00:23:53
【问题描述】:
我在尝试查询 3 个表和 2 个具有相同字段的表时遇到问题。使用php和mysql
例子
表A 表B 表C
查询中的关键字是搜索词。
SELECT
title
FROM TableA as A
LEFT JOIN TableC as C
ON TableA.id=TableC.id
WHERE 1
AND TableC.private='0'
AND (
title LIKE '".$keyword."%'
OR title LIKE '%".$keyword."%'
OR title LIKE '%".$keyword."'
OR title = '".$keyword."'
)
我遇到的问题是我还需要同时在 TableB 中搜索标题并根据相同的关键字进行匹配。如何将 TableB 标题字段合并到查询中?
因此,如果说 TableA 的 title=America 和 TableB 的 title=American 它将显示两个表的两个结果,因为它会匹配 LIKE 查询。
然后用 PHP 显示结果。如果 TableA 或 TableB 匹配显示该结果。并循环遍历数组等。
它必须在查询中,因为我将它用于搜索参数。
TIA
【问题讨论】:
-
请阅读PDO 和准备好的声明。并购买/窃取自己SQL Antipatterns book。
-
@tereško 我将不得不查看更多 SQL 教程。我需要更多的帮助,而不是 PHP。谢谢