簡體   English   中英

比較兩個具有相同列的表的相似值

[英]compare two tables with same column for similar values

我有兩個表tableAtableB 兩者都有兩個相似的列IDB_ID 我想檢查兩個表是否具有相似的值。 我的代碼是:

$ac = $mysql->query("(SELECT ID,B_ID FROM tableA) INTERSECT (SELECT ID,B_ID FROM tableB)");

  if($ac){
    while($row  = $ac->fetch_assoc()){

      echo "ID ".$row["ID"]." B_ID".$row["B_ID"]."<br>";
    }
  }

但這沒有任何結果。

    ps: tableA(ID,B_ID)

 1->23
 2->23
 3->23
 4->56
 5->67

tableB(ID,B_ID)

3->23
8->26
11->27
12->66

這兩個表都具有3-> 23,但1-> 23 2-> 23不在tableB中,我該如何計算這種記錄。 相同的B_ID,但ID不同

如果兩個表中都有B.ID列,則使用以下JOIN查詢

SELECT a.ID, a.B_ID 
FROM tableA AS a
JOIN tableB AS b ON (a.B_ID = b.B_ID AND a.ID = b.ID)

使用聯接獲取數據並僅遍歷結果。 運行查詢,以及是否有任何記錄滿足查詢條件。

select t1.ID, t1.B_ID from tableA t1, tableB t2
where t1.ID = t2.ID
and   t1.B_ID =t2.B_ID  

使用內INNER JOINCOUNT

SELECT COUNT(*) as cnt
FROM tableA INNER JOIN tableB
ON tableA.B_ID = tableB.B_ID AND tableA.ID = tableB.ID

現在,如果cnt大於零,則存在公共值,否則不存在

請嘗試使用此查詢可能會對您有所幫助。

SELECT
    tbla.ID,
    tbla.B_ID
FROM
    tablea AS tbla,
    tableb AS tblb
WHERE
    tbla.B_ID = tblb.B_ID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM