簡體   English   中英

MySQL查詢從多個表中獲取記錄

[英]MySQL query to get records from multiple tables

我有一個主表' Player '和' PlayerId '作為primary key

我有三個表鏈接到“ player ”表。 一個表可能比另一個表具有更多的記錄。 我需要從每個表的不同行中獲取播放器的所有記錄。

玩家桌

PlayerId int(PK), 
PlayerName Varchar(25)

啟動表

PlayerId int(FK), 
STARTUPDATE Date

重新啟動表

PlayerId int(FK), 
REBOOTDATE Date

關機表

PlayerId int(FK), 
SHUTDOWN Date 

查詢如下:

PLAYERNAME   STARTUPDATE      REBOOTDATE        SHUTDOWNDATE 
PLAYER1      12/2/2015 11:57  12/2/2015 17:30   12/2/2015 20:00 
PLAYER1      12/2/2015 14:57  12/2/2015 15:30 
PLAYER1      12/2/2015 12:30 
PLAYER1      12/2/2015 10:30 

查看您的預期結果,PlayerId與所有表都不匹配。 在這種情況下,您需要使用LEFT JOIN

SELECT PL.PlayerName, ST.StartupDate, RE.RebootDate, SH.ShutDownDate
FROM Player PL
LEFT JOIN Startup ST ON ST.PlayerId = PL.PlayerId
LEFT JOIN Reboot RE ON RE.PlayerId = PL.PlayerId
LEFT JOIN Shutdown SH ON SH.PlayerId = PL.PlayerId

暫無
暫無

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

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