![](/img/trans.png)
[英]Fetch data of two tables with/without match of Primary key and foreign key
[英]MYSQL SELECT To fetch rows from two tables with or without a foreign key
我正在寻找MYSQL
查询的一些帮助。 我有两个表,一个包含tickets
列表,另一个是members
列表。
表票证:ticket_id,member_id表成员:member_id
可以但不必将成员分配给票证。 我想要做的是选择所有票证,然后如果在票证表中设置了member_id字段,也可以获取成员信息。
一种方法是执行SELECT * FROM Tickets
,然后在PHP中循环并检查是否设置了member_id字段。 如果设置,则在members
表上执行另一个查询以获取相应的信息。 唯一的问题是它会有大量的查询。
有没有办法在一个连接查询中获取所有结果?
谢谢
Select *
from Tickets
Left Join Members On tickets.member_id = members.member_id
select * from tickets left outer join members on tickets.member_id = members.ticket_id
SELECT t.ticket_id, t.member_id FROM tikcets t LEFT JOIN members m ON t.member_id = m.member_id
这将为您提供是否已分配给会员的所有门票。 您应该在查询中添加要获取的其他字段。
尝试这个:
SELECT t.ticket_id, m.member_id
FROM tickets AS t LEFT OUTER JOIN members AS m
ON t.member_id = m.member_id
LEFT OUTER JOIN
将导致返回票证的所有结果,以及来自成员的任何匹配,而不是取消票证记录,因此这可以解决问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.