簡體   English   中英

MySQL聯接查詢兩個表

[英]MySQL join query for two tables

我有兩個數據庫表。 我們將第一個稱為ItemInfo,將另一個稱為ItemStatus。 信息是兩者中的較大者,並且狀態僅使用信息下列出的活動產品(其中活動= 1)創建。 信息和狀態之間僅共享兩列,即ListID和QtyOnHand。

Status的問題在於,即使已記錄所有活動項目,但並非所有活動項目都具有正確的Web ID,該Web ID位於ItemInfo中標為“ WebID”的列下。 沒有正確ID的項目的ID僅為0。

我想做的是在兩者之間執行聯接,但是我不確定該使用哪個。 我最初認為正確的加入是正確的。 我需要ItemStatus的每一列(因為它包含由腳本計算和插入的統計信息),但是僅需要具有有效Web ID的記錄。 我知道查詢將如下所示:

SELECT A.*, B.WebID FROM ItemStatus A
(?) JOIN ItemInfo B
ON A.ListID = B.ListID
WHERE B.WebID > 0

這個想法在那里,但我不確定如何表達。 Status表沒有WebID,因為當我最初構造它時,我覺得把它作為一列是多余的。 我們需要QtyOnHand的原因是因為它的計算方式與對ItemInfo所做的方式不同。

如何解決此查詢?

我認為你需要正確的加入

SELECT A.*, B.WebID FROM ItemStatus A
LEFT JOIN ItemInfo B
ON A.ListID = B.ListID
WHERE B.WebID > 0

您僅從B獲取WebID ,因此只需要JOIN意味着內部JOIN

SELECT A.*, B.WebID FROM ItemStatus A
JOIN ItemInfo B
ON A.ListID = B.ListID
WHERE B.WebID > 0

它將一個表中的所有行連接到另一表中的行,然后應用WHERE條件。 因此,請使用正WebID返回所需的行。

希望這可以幫助!

暫無
暫無

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

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