簡體   English   中英

如何從涉及兩個表的查詢中獲取單行。 子表的一項中重復使用2個外鍵

[英]How to get single row from a query involving two tables. 2 Foreign Keys are repeated in one entry of child table

我有兩張桌子

1. tbl_clubs
2. tbl_match_schedule

tbl_club有字段;

fld_id | fld_club_name

tbl_match_schedule具有字段;

fld_id | fld_club_id_one | fld_club_id_two | fld_match_time.

現在的流程是,管理員將1.轉到添加新的比賽時間表。 2.從下拉菜單1中選擇俱樂部的名稱。3.從下拉菜單2中選擇第二個俱樂部(對陣)的名稱。4.給比賽時間並保存。

現在的問題是我無法正確選擇數據。 我需要一行,但是當我輸入以下查詢時,它會給我兩行

從tbl_match_schedule中將ms.fld_id,ms.fld_id_club_one,ms.fld_id_club_two,ms.fld_match_time,c.fld_club_name,c.fld_id選擇為ms,從tbl_club作為c WHERE c.fld_id = ms.fld_id_club_one = c.fld_id_club_one或c。

請幫助我,我想要這樣的形式: "19:00""club name two" "club name one""club name two" "19:00"

我正在使用mysql

如果我正確理解,應該這樣做:

SELECT c1.fld_club_name AS 'club_name_one', c2.fld_club_name AS 'club_name_two', s.fld_match_time AS 'at' FROM tbl_match_schedule s
    LEFT JOIN tbl_clubs c1 ON s.fld_club_id_one = c1.fld_id
    LEFT JOIN tbl_clubs c2 ON s.fld_club_id_two = c2.fld_id

當然,只要您使用c1.就可以在此之后添加WHEREORDER子句以滿足您的進一步需求c1. c2. 當您提及俱樂部時,速記員的全名將是模棱兩可的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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