我有2個表的MySQL LEFT JOIN不會返回所有左錶行
phonetype:
phonetypeID (PK)
phonetyepe
phone:
phoneID (PK)
peopleID (fK)
phonetypeID (fK)
areacode
number`
對於特定的peopleid我想返回所有phonetypes,如果具有的peopleid數diplay,如果不是空的。喜歡的東西:
phonetype phonetypeID areacode number
company 1 111 11111
fax 2
home 3 222 222222
mobile 4
這是我事先準備好的聲明:
$stmt = $conn->prepare("SELECT *
FROM phonetype
LEFT JOIN phone
ON phonetype.phonetypeID=phone.phonetypeID
where phone.peopleID = ?;
");
if (!$stmt) {die(printf("Error: %s.\n", mysqli_stmt_error($stmt)));}
else if (!$stmt->bind_param('i', $peopleID)) {die(printf("Error: %s.\n", mysqli_stmt_error($stmt)));}
但這種方式我只有
phonetype phonetypeID areacode number
company 1 111 11111
home 3 222 222222
我在做什麼錯? PS這是我第一次加入! 謝謝!我在閱讀Gravel,Robbie Averill,Maximus2012和Miken32的答案之後,明白這是一個更好的設計,它有一個專用的表格phonetype,並且在外部使用一個外鍵電話桌上,認爲這是一個完全不同的場景,我問了這個新問題,如果有人認爲這是重複的,並且有一種方法可以加入這個問題,我會這樣做,再次感謝所有花時間幫幫我吧。)
您能否更清楚一點?你能否把你的兩個表格數據放在一起!? – KinjalMistry
很難確定沒有數據,但只是用'和'替換'where'看起來可以解決問題。 –
[顯示來自數據庫的數據以特定順序:php或mysql?]的可能重複(http://stackoverflow.com/questions/34911866/display-data-from-database-in-a-specific-order-php- or-mysql) – Gavriel