[英]How to join table and display it?
我試圖合並 2 張桌子。
例如,表 A 和 B。
我試過用join table來做,結果: 3 rows id and value is (1, a), (1, b), (1, c)
它不是我想要的,我需要像這樣創建:
結果:
只有 1 行,id 為 (1),值為 (a, b, c)
但是,我只想從“值”中獲取“c”數據。
那么,我想要的結果是(1,c),如何?
編輯:
檢查,有工作: http://sqlfiddle.com/#!9/b0fd3b/2
它不適用於我的代碼,找不到結果。 檢查這個:
<?php
if (isset($_GET['page_no']) && $_GET['page_no']!="") {
$page_no = $_GET['page_no'];
}
else {
$page_no = 1;
}
$total_records_per_page = 3;
$offset = ($page_no-1) * $total_records_per_page;
$previous_page = $page_no - 1;
$next_page = $page_no + 1;
$adjacents = "2";
$result_count = mysqli_query($conn, "SELECT COUNT(*) As total_records FROM b");
$total_records = mysqli_fetch_array($result_count);
$total_records = $total_records['total_records'];
$total_no_of_pages = ceil($total_records / $total_records_per_page);
$second_last = $total_no_of_pages - 1; // total page minus 1
$result = mysqli_query($conn, "SELECT id, a.meta_key, a.meta_value FROM a JOIN b USING (id) WHERE a.meta_value = 'value2' LIMIT $offset, $total_records_per_page");
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_array($result)) {
echo $row['id'];
echo $row['key'];
echo $row['value'];
}
}
else {
echo "no found";
}
?>
// pagination
....
您可以執行以下操作:
select a.*
from a join
b
on a.id = b.id
order by a.value desc
limit 1;
我對為什么需要join
有點困惑:
select a.*
from a
order by value desc
limit 1;
但你似乎想要join
。
試試下面的查詢。 我希望它會得到你想要的結果。
SELECT a.id, a.value,
FROM a
INNER JOIN b ON a.id=b.id;
ORDER BY
a.id DESC;
只有 1 行,id 為 (1),值為 (a, b, c)
SELECT id, GROUP_CONCAT(value ORDER BY value) values
FROM a
JOIN b USING (id)
GROUP BY id
但是,我只想從“值”中獲取“c”數據。
SELECT id, a.value
FROM a
JOIN b USING (id)
WHERE a.value = 'c'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.