0

別のテーブルからの結合を含めるようにPHPでこの既存のMySQLクエリを変更するために、JOIN構文を正しく取得できません。InvmNumr列とInvmDesc列を含むDB_TABLE2として指定された別のテーブルがあります。InvmNumrとInvlNumrは各テーブルでまったく同じ値であり、このクエリで表2のInvmDescを表示する必要がありますか?

        $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 = '';
4

2 に答える 2

1

これを試して

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
于 2012-06-21T18:22:52.163 に答える
1

データがテーブルにどのように格納されているかに応じて、LEFTJOINとINNERJOINを確認してくださいDB_TABLE2

$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) . "'");
于 2012-06-21T18:28:12.237 に答える