亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Select 語句回顯行兩次

Select 語句回顯行兩次

PHP
喵喵時光機 2021-12-03 15:20:35
我的數據庫中有 2 個表。表tableA看起來像這樣: taid | tanum | tarelation---------------------------  30  |  22   |  101  31  |  88   |  101表格tableB如下所示: tbid | tbnum | tbrelation---------------------------  1   |  10   |  101  2   |  20   |  101我想回顯所有行tanum并且tbnum- 應該只回顯 4 個結果,但是我的代碼將每個回顯的結果加倍,所以它總共顯示 8 個結果(不應該這樣做)。這是我得到的不需要的結果:2210881022208820為什么要這樣做?結果不應該是這樣,而應該是這樣:22881020請幫我解決這個問題。這是我的代碼:<?php$columns = [];$stmt = $conn->prepare("  SELECT tableA.*, tableB.*  FROM tableA  INNER JOIN tableB  ON tableA.tarelation = tableB.tbrelation");$stmt->execute();$result = $stmt->get_result();while($row = $result->fetch_object()) {  $columns[] = $row;}$stmt->close();?><div><?php foreach($columns as $column): ?>    <div><?php echo $column->tanum; ?></div>    <div><?php echo $column->tbnum; ?></div><?php endforeach; ?></div>
查看完整描述

3 回答

?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

使用UNION概念。為此,您可以使用 UNION 或 UNION ALL 關鍵字。


筆記:


使用UNION 時,將刪除重復記錄,因此如果您想保留所有記錄,請使用 UNION ALL。

您不需要為此創建子查詢。

SELECT taid AS ID, tanum AS NUM, tarelation AS RELATION FROM tableA 

UNION ALL

SELECT tbid AS ID, tbnum AS NUM, tbrelation AS RELATION FROM tableB;


查看完整回答
反對 回復 2021-12-03
?
青春有我

TA貢獻1784條經驗 獲得超8個贊

您的 SQL 查詢不會生成僅包含您作為輸出顯示的tanum和tbnum值的列表。如果您想要所有表中僅包含tanum和tbnum值的列表(如您所希望的結果所示),可以這樣做:


select tanum from TableA

union

select tbnum from TableB;


查看完整回答
反對 回復 2021-12-03
?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

我不確定這是否是您要查找的內容,但您似乎只想附加這兩個表:


select a.*

from

(select taid as ID,tanum as NUM,tarelation as RELATION from tableA

UNION

select tbid as ID,tbnum as NUM,tbrelation as RELATION from tableB)a


查看完整回答
反對 回復 2021-12-03
  • 3 回答
  • 0 關注
  • 228 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號