多个表上的MYSQLI SQL查询失败
我对SQL非常陌生,我需要从不同的表中检索一些属性,但是。我通过在用户名称下搜索用户的图像和详细信息 例如:多个表上的MYSQLI SQL查询失败,mysql,sql,Mysql,Sql,我对SQL非常陌生,我需要从不同的表中检索一些属性,但是。我通过在用户名称下搜索用户的图像和详细信息 例如: SELECT * FROM table1 WHERE name LIKE '%tim%' AND last_name '%smith%' 我的结果中需要以下属性: 我需要表1中的所有细节 表2中的帐户id和图像 表4中的路径 我试过了 SELECT table1.id table1.name table1.last_name table 2.account_id table4.path
SELECT * FROM table1 WHERE name LIKE '%tim%' AND last_name '%smith%'
我的结果中需要以下属性:
我需要表1中的所有细节
表2中的帐户id和图像
表4中的路径
我试过了
SELECT table1.id table1.name table1.last_name table 2.account_id table4.path FROM table1 table 2 table4 WHERE table4.image_id = table 2.image AND table1.first_name LIKE '%tim%' AND table1.last_name LIKE '%smith%'
我正在考虑将其拆分为多个查询以解决此问题,但是我确信这可以在单个查询下完成,我只是不确定如何构造它,我已经尝试了很多次,但所有查询都在phpmyadmin中失败
希望有人能给我指出正确的方向?下面是我的表格示例,提前谢谢
table1
------------
id (pk)
name
last_name
table 2
--------------
account id (pk)
id (fk)
image (holds image id from table 4)
table 3
-----------------
account id (fk)
image id (fk)
date
table 4
--------------------
image id (pk)
path
date
因此,在
表1
和表2
之间以及表2
和表4
之间有内部联接。在MySQL中,JOIN
隐式地表示内部连接
SELECT
table1.id,
table1.name,
table1.last_name,
table2.account_id,
table4.path
FROM
table1
JOIN table2 ON table1.id = table2.id
JOIN table4 ON table2.image = table4.image_id
WHERE table1.name LIKE '%tim%' AND table1.last_name LIKE '%smith%'
(Edit:忘记添加原始的WHERE
子句。)因此在表1
和表2
之间以及表2
和表4
之间有内部连接。在MySQL中,JOIN
隐式地表示内部连接
SELECT
table1.id,
table1.name,
table1.last_name,
table2.account_id,
table4.path
FROM
table1
JOIN table2 ON table1.id = table2.id
JOIN table4 ON table2.image = table4.image_id
WHERE table1.name LIKE '%tim%' AND table1.last_name LIKE '%smith%'
(Edit:忘记添加原始的WHERE
子句。)尝试以下操作:
SELECT t1.*, t2.account_id, t4.path
FROM table1 t1
INNER JOIN table2 t2 ON t2.id = t1.id
INNER JOIN table4 t4 ON t4.image_id = t2.image
试试这个:
SELECT t1.*, t2.account_id, t4.path
FROM table1 t1
INNER JOIN table2 t2 ON t2.id = t1.id
INNER JOIN table4 t4 ON t4.image_id = t2.image
感谢AlejoBrz,但是我不得不删除t1,因为phpmyadmin没有看到表,替换它们,查询工作感谢Hanks AlejoBrz,但是我不得不删除t1,因为phpmyadmin没有看到表,替换它们,查询工作感谢