MySQL:如何基于另一个表中的信息从表中选择?

时间:2018-10-30 02:25:29

标签: php mysql sql database join

我有两个桌子...

门票

id | customer

客户

id | name

我需要从该票证的客户名为John的票证中选择* 。我尝试使用下面的JOIN查询,但是当使用mysqli_fetch_array()获取数据时,它错误地返回了票证“ customer”字段。它与票证的“ id”字段相同,没有任何意义。

SELECT * 
FROM tickets 
INNER JOIN customers ON tickets.customer = customer.id 
WHERE customer.name = 'John';

我该如何完成?我觉得这一定是在Stack Overflow上的某个地方,但是我没有运气。

2 个答案:

答案 0 :(得分:2)

只需删除INNER并按顺序写出您的表名(将s添加到客户),如果您的表这样命名客户:

select * from tickets join customers ON (tickets.customer = customers.id) where customers.name = 'John'

答案 1 :(得分:0)

我只是想通了。这是正确的查询...

SELECT tickets.* FROM tickets INNER JOIN customers ON tickets.customer = customers.id WHERE customers.name = 'John'

我需要门票表中的数据,因此用*替换tickets.*似乎可以提供这一点。