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

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

sql中如何匹配兩個表的列

sql中如何匹配兩個表的列

PHP
呼啦一陣風 2023-07-21 18:24:14
我有這個代碼$db = \Config\Database::connect();$query = $db->query("select * from g WHERE g_status = '0' ORDER BY g_date ASC Limit 10;");foreach ($query->getResult() as $g) {    $g_amount = $g->g_amount; }$query2 = $db->query("select * from g WHERE p_status = '0' ORDER BY p_date ASC Limit 10;");foreach ($query2->getResult() as $p) {    $p_amount = $p->p_amount; }if($p_amount ==  $g_amount){echo "do something";}else{echo "No match";}在這里,我嘗試在表 g 和表 p 之間進行匹配...如果表 g 中的任何列 == 表 p 中的任何列,無論列數如何,請執行某些操作,但它總是回顯“不匹配”我設置了“Limit 10”,以防表中的行數較多,它只會與“ordering”命令匹配前 10 行。請我需要一些幫助。
查看完整描述

2 回答

?
慕沐林林

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

首先,以數組形式獲取數據


$db = \Config\Database::connect();

$query = $db->query("select * from g WHERE g_status = '0' ORDER BY g_date ASC Limit 10;");

$g_results = $query->getResult('array'); 

$g_amounts = array_column($g_results,'g_amount');


$query2 = $db->query("select * from g WHERE p_status = '0' ORDER BY p_date ASC Limit 10;");

$p_results = $query2->getResult('array'); 

$p_amounts = array_column($p_results,'p_amount');


foreach(array_intersect($g_amounts,$p_amounts) as $amount){

   echo "do something";

}


查看完整回答
反對 回復 2023-07-21
?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

為什么不使用 aJOIN看看它是否返回一些東西?不確定我的語法是否正確,我不經常進行 JOIN:

SELECT * FROM g g_table JOIN p p_table ON g_table.g_amount = p_table.p_amount WHERE g_table.status = '0' AND p_table.status = '0'


查看完整回答
反對 回復 2023-07-21
  • 2 回答
  • 0 關注
  • 171 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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