我有三个如下表
表格名称:单词
+----+----------+--------+------------+--------+
| id | word | letter | origin |literal |
+----+----------+--------+------------+------------+----+
| 7 | അകക്കരപ്പന് | അ | അകം1-കരപ്പന് |bc |
+----+----------+--------+-------------------------+----+
| 8 | അകക്കഴി | അ | അകം1-കഴി |af |
+----+----------+--------+-----------------------+-----+
表名称:关系
+----+---------+---------------+-------+
| id | id_word | id_definition | rtype |
+----+---------+---------------+-------+
| 6 | 4 | 6 | നാ. |
+----+---------+---------------+-------+
| 7 | 5 | 7 | നാ. |
+----+---------+---------------+-------+
表名:定义
+----+------------+
| id | definition |
+----+------------+
| 1 | ചായ |
+----+------------+
| 2 | ചായച്ചെടി |
+----+------------+
我需要这些表中的文字,原点,rtype,定义。我使用了以下查询,
SELECT
literal,
origin,
rtype,
word.id,
definition,
id_definition
from definition, relation, word
WHERE
word = '$wpm' AND
relation.id_word = word.id AND
definition.id = id_definition
但是不要得到蚂蚁结果。请给我正确的查询。
答案 0 :(得分:3)
我看到您的查询有几个问题,最明显的是您使用的是现在不建议使用的旧式联接语法,而且联接条件定义不正确。我建议以下内容:
SELECT
w.literal,
w.origin,
r.rtype,
w.id,
d.definition,
r.id_definition
FROM word w
INNER JOIN relation r
ON w.id = r.id_word
INNER JOIN definition d
ON r.id_definition = d.id
WHERE
w.word = ?;
请注意,我在word
子句中将WHERE
的值保留为占位符?
。您应该阅读有关PHP中准备好的语句的信息,这将解释这意味着什么以及如何在PHP代码中处理/实现它。