簡體   English   中英

MYSQL SELECT使用或不使用外鍵從兩個表中獲取行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM