Php MySQL非常简单的子表连接示例
随着MySQL的加入,我不断地陷入疑问。 我想请求一个非常简单的例子,我可以用它来继续我学习MySQL语法的旅程 假设我得到了下表的 test\u testtablePhp MySQL非常简单的子表连接示例,php,mysql,join,Php,Mysql,Join,随着MySQL的加入,我不断地陷入疑问。 我想请求一个非常简单的例子,我可以用它来继续我学习MySQL语法的旅程 假设我得到了下表的 test\u testtable testtable\u id 测试表名称 testtable\u用户 testtable_选项 testtable_textfield test\u testlink testlink\u id 测试链接 测试链接地址 测试地址 地址 地址/姓名 地址和电话 电子邮件地址 地址: 城市地址 地址 我想做出如下选择: S
- testtable\u id
- 测试表名称
- testtable\u用户
- testtable_选项
- testtable_textfield
- testlink\u id
- 测试链接
- 测试链接地址
- 地址
- 地址/姓名
- 地址和电话
- 电子邮件地址
- 地址:
- 城市地址
- 地址
SELECT * (lets say I would define the fields) FROM `test_testable`
JOIN `test_testtable`.`testtable_id` = `test_testlink`.`testlink_link`
AND
JOIN `test_testlink`.`testlink_addres` = `test_address`.`address_id`
WHERE `user_id` = 5
因此,链接结构类似于:
test\u testtable.testtable\u id=前导
tabletest\u testlink是链接表test\u testtable和test\u地址的表
链接表test\u testlink使用字段testlink\u链接到表test\u testtable,并使用字段testlink\u地址链接到表test\u地址
这是行不通的。为了我。。因为我似乎一直没有抓住正确的语法逻辑
因此,我希望有人能给我一个小例子,说明如何正确实现这样一个简单但关键的查询
蒂亚德 一般方法:
SELECT table1.* FROM table1
JOIN table2 ON table2.id_table1 = table1.id
JOIN table3 ON table3.id_table2 = table2.id
WHERE table1.id = 10
为了您的目的:
SELECT * (lets say I would define the fields) FROM `test_testable`
JOIN `test_testlink` ON `test_testtable`.`testtable_id` = `test_testlink`.`testlink_link`
JOIN `test_address` ON `test_testlink`.`testlink_addres` = `test_address`.`address_id`
WHERE `user_id` = 5
一般方法:
SELECT table1.* FROM table1
JOIN table2 ON table2.id_table1 = table1.id
JOIN table3 ON table3.id_table2 = table2.id
WHERE table1.id = 10
为了您的目的:
SELECT * (lets say I would define the fields) FROM `test_testable`
JOIN `test_testlink` ON `test_testtable`.`testtable_id` = `test_testlink`.`testlink_link`
JOIN `test_address` ON `test_testlink`.`testlink_addres` = `test_address`.`address_id`
WHERE `user_id` = 5
您使用了错误的语法。您应该先说明要连接哪些表,然后根据哪些字段进行连接
SELECT * (lets say I would define the fields) FROM `test_testable`
INNER JOIN test_testlink
ON `test_testtable`.`testtable_id` = `test_testlink`.`testlink_link`
INNER JOIN `test_address`
ON `test_testlink`.`testlink_addres` = `test_address`.`address_id`
AND `test_testtable`.`user_id` = 5
您使用了错误的语法。您应该先说明要连接哪些表,然后根据哪些字段进行连接
SELECT * (lets say I would define the fields) FROM `test_testable`
INNER JOIN test_testlink
ON `test_testtable`.`testtable_id` = `test_testlink`.`testlink_link`
INNER JOIN `test_address`
ON `test_testlink`.`testlink_addres` = `test_address`.`address_id`
AND `test_testtable`.`user_id` = 5
我知道我应该避免像“谢谢”这样的评论。。但这对我帮助很大,我仍然很想告诉你,我真的很感激。谢谢!!!我知道我应该避免像“谢谢”这样的评论。。但这对我帮助很大,我仍然很想告诉你,我真的很感激。谢谢!!!