我嘗試合并兩張桌子。示例,表 A 和 B。表 A 有 2 列(id 和 value)表 A 有 3 行 (1, a)、(1, b) 和 (1, c)。表 B 有 1 列和 1 行(id)為(1)我嘗試使用join table執行此操作,結果:3 行 id 和值為 (1, a), (1, b), (1, c)這不是我想要的,我需要創建如下:結果:只有 1 行,id 為 (1),value 為 (a, b, c)但是,我只想從“value”中獲取“c”數據。那么,我想要的結果是(1, c),怎么樣?編輯:檢查,有工作:http://sqlfiddle.com/#! 9/b0fd3b/2它不適用于我的代碼,未找到結果。檢查一下:<?phpif (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....
3 回答

嚕嚕噠
TA貢獻1784條經驗 獲得超7個贊
嘗試下面的查詢。我希望它能得到你想要的結果。
SELECT a.id, a.value,
FROM a
INNER JOIN b ON a.id=b.id;
ORDER BY
a.id DESC;

侃侃無極
TA貢獻2051條經驗 獲得超10個贊
只有 1 行,id 為 (1),value 為 (a, b, c)
SELECT id, GROUP_CONCAT(value ORDER BY value) values
FROM a
JOIN b USING (id)
GROUP BY id
但是,我只想從“value”中獲取“c”數據。
SELECT id, a.value
FROM a
JOIN b USING (id)
WHERE a.value = 'c'

慕桂英3389331
TA貢獻2036條經驗 獲得超8個贊
你可以這樣做:
select a.*
from a join
b
on a.id = b.id
order by a.value desc
limit 1;
我對為什么join需要 a 有點困惑:
select a.*
from a
order by value desc
limit 1;
但你似乎想要join.
- 3 回答
- 0 關注
- 161 瀏覽
添加回答
舉報
0/150
提交
取消