2012-06-21 59 views
0

我無法獲得正確的JOIN語法以在PHP中更改此現有MySQL查詢以包含來自另一個表的連接。我有另一個指定爲DB_TABLE2的表,其中包含列InvmNumr和InvmDesc。 InvmNumr和InvlNumr在每個表中都是完全相同的值,我需要在此查詢中顯示錶2中的InvmDesc?使用連接語法的動態MySQL記錄集查詢

 $res = mysql_query('SELECT LocId, InvlNumr, InvlQuant FROM ' . DB_TABLE1 
      . ' WHERE LocId = \'' . mysql_real_escape_string($cType) . '\' 
     AND InvlNumr = \'' . mysql_real_escape_string($br) . "'"); 
     $markup = ''; 

回答

1

上向左讀了JOIN VS INNER JOIN。

$res = mysql_query('SELECT ' . DB_TABLE1 . '.LocId, ' . DB_TABLE1 . '.InvlNumr, ' . 
    DB_TABLE1 . '.InvlQuant, ' . DB_TABLE2 . '.InvmDesc 
    FROM ' . DB_TABLE1 . ' LEFT JOIN ' . DB_TABLE2 . ' ON ' . 
    DB_TABLE1 . '.InvlNumr = ' . DB_TABLE2 . '.InvmNumr 
    WHERE ' . DB_TABLE1 . '.LocId = \'' . mysql_real_escape_string($cType) . '\' 
    AND ' . DB_TABLE1 . '.InvlNumr = \'' . mysql_real_escape_string($br) . "'"); 
1

嘗試取決於您的數據是如何存儲在DB_TABLE2表這個

SELECT db1.LocId,db1.InvlNumr,db1.InvlQuant 
FROM DB_TABLE1 db1 
INNER JOIN DB_TABLE2 db2 ON db1.InvlNumr = db2.InvlNumr 
WHERE dbq.LocId = $cType 
AND db1.InvlNumr = $br