1
我無法讓兩個INNER JOINS正常工作。當我僅使用第一個INNER JOIN時顯示數據,但添加第二個INNER JOIN時沒有顯示任何數據。多個INNER JOIN不能正常工作
下面是我使用其中的URL將是代碼:website.com/matchdetails/season/match_id
<?php
$db = new PDO('mysql:host=db.xx.xx;dbname=xx','xx','xx');
$sth = $db->prepare("
SELECT *
FROM
matchdetails AS md
INNER JOIN
players AS p
ON
(p.player_id = md.player_id)
INNER JOIN
matches AS m
ON
(m.match_id = md.match_id)
WHERE (CONCAT_WS('/', season, match_id)) = :season");
$sth->execute(array(':season' => substr($_SERVER['PATH_INFO'], 1)));
foreach($sth as $row) {?>
<?php echo 'Name '. $row['name'] . '<br/>'; ?>
<?php echo 'Goals ', $row['goals'] . '<br/>'; ?>
<?php echo 'Assists ',$row['assists'] . '<br/>'; ?>
<?php echo 'VVO Score ',$row['vvo_score'] . '<br/>' . '<br/>'; ?>
<?php }?>
我的數據庫結構爲:
表匹配
表matchdetails
表選手
沒有顯示樣本數據,我們沒有理由認爲應該返回行。你是否有來自每個表的符合條件的行? –
你能向我解釋這一行嗎? WHERE REPLACE(CONCAT_WS('/',season,match_id),'','/')=:season「) – AverageMarcus
其他查詢是否有效?是否有類似的查詢會產生一些輸出,但不會給你帶來好處你需要的結果是什麼?你可以發佈它嗎?查詢和查詢之間的主要區別是什麼? –