[英]compare two tables with same column for similar values
我有兩個表tableA
和tableB
。 兩者都有兩個相似的列ID
和B_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 JOIN
和COUNT
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.