[英]PHP Join tables mysql
所以我有兩張桌子:
表1 (銷售額)
表 2 (用戶)
這就是我查詢值的方式:
<?php
$query = "SELECT * FROM sales WHERE status='OK' ORDER BY STR_TO_DATE(`date`, '%Y/%m/%d %H:%i:%s') DESC LIMIT 5";
if ($result = $link->query($query)) {
$num_rows = 0;
while ($row = $result->fetch_assoc()) {
$num_rows++;
echo '<div class="my-box">';
echo "{$row['id']}";
echo "{$row['date']}";
echo "{$row['dbirth']}";
echo "{$row['email']}";
echo "{$row['ident']}";
echo '</div>';
}
$result->free();
}
?>
現在,它回ident
了該行的標識,但是為了顯示標識,我是為了顯示具有Fullname
標識的全名。 我嘗試了類似SELECT * FROM sales LEFT JOIN users on sales.id = users.id
,但這並沒有給我Fullname
。 有小費嗎?
您的 SQL 似乎是錯誤的。
當你加入表時,這樣做。
SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;
如果您正確加入表格,您將能夠檢索“全名”列。
我相信 Ident 字段將是用戶表中的主鍵和銷售表中的外鍵。 如果是,這將返回所需的結果以及兩個表中列出的其他字段。
SELECT sales.ID AS sales_ID,sales.Ident AS Identity,Date,Status,Fullname,Email FROM sales
INNER JOIN users ON sales.Ident = users.Ident
WHERE status='OK'
ORDER BY STR_TO_DATE(`date`, '%Y/%m/%d %H:%i:%s')
DESC LIMIT 5
如果日期字段更新為日期或日期時間,只需使用
ORDER BY DATE
為了更好的數據庫實踐:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.