簡體   English   中英

MySQL join無法從一個表中進行選擇

[英]MySQL join unable to select from one table

我有一個完全按預期工作的連接,除了從'right'表中選擇的任何和所有字段在它們肯定不是時返回空白。

SELECT score.recipient, score.amount, u.* FROM score 
LEFT JOIN `users` AS u ON score.recipient = u.id AND u.team_id = ?
WHERE UNIX_TIMESTAMP(score.date) > ?

我實際上並不需要整個用戶表,只有users.email - 但沒有字段可用。 結果集看起來像這樣(樣本):

[0] => stdClass Object ( [recipient] => 1 [amount] => 1 [id] => [fname] => [lname] => [nickname] => [email] => [phone] => [reg_key] => )
[1] => stdClass Object ( [recipient] => 103 [amount] => -1 [id] => [fname] => [lname] => [nickname] => [email] => [phone] => [reg_key] => )

列出的所有字段實際上都已填充。

任何幫助,將不勝感激! 我不知所措。

如果用內連接替換左連接返回空結果集,則連接條件/ where子句將被破壞。

試試這個(沒有綁定變量及其條件),看看它是否返回任何值:

SELECT score.recipient, score.amount, u.* FROM score 
LEFT JOIN `users` AS u ON score.recipient = u.id 

如果是這種情況,那么看看你得到的team_id / score.date的值 - 我敢打賭你正在使用表格中根本不存在的綁定值的組合。

暫無
暫無

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

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