2011-11-28 13 views
0

これに対して、INNER JOINまたはLEFT JOINまたはRIGHT JOINを使用すると効果的ですか?それとももっと良い方法がありますか?mySQL INNERはより良いオプションに参加しますか?

$customSQL = "SELECT * FROM customFieldNames"; 
        $customQRY = mysql_query($customSQL); 
        while ($customOBJ = mysql_fetch_object($customQRY)){ 
         $cvSQL = "SELECT `VALUE` FROM customFieldValues WHERE FIELDID = '".$customOBJ->FIELDID."' AND MEMID = '".$memFetch['MEMID']."'"; 
         $cvQRY = mysql_query($cvSQL); 
         $cvFetch = mysql_fetch_array($cvQRY); 
         echo '<tr><td>'.$customOBJ->FIELDNAME.'</td><td><input type="text" name="cv_'.$customOBJ->FIELDNAME.'" value="'.$cvFetch['VALUE'].'" /></td></tr>'; 
        } 
+1

言葉で、あなたが達成しようとするのではなく、コードを解釈し、あなたの意図を推測するために私たちを強制しているもので、説明を追加することを検討してください。これにより、より良い回答が得られます。さらに、それはあなたのスキーマを見るのに役立ちます。 "MEMID"はどこから来たのですか?ありがとう! –

答えて

1

はい、

 
//this is just a sample to let you know how it can be 

select c1.somefield, c2.somefield from customFieldNames c1 
left join customFieldValues c2 on(c1.somefieldId = c2.somefildId) 
where 1=1 
+0

LEFT JOINがトリックをしました!ありがとう – swg1cor14

0

あなたの現在のコードは2つのテーブル間の一致がありますしない限り、それは何も印刷されませんように、INNER JOINを行うことに相当し、この種の何か。具体的には、このINNER JOINと同等です:

SELECT customFieldNames.FIELDNAME, 
     customFieldValues.VALUE 
    FROM customFieldNames 
    JOIN customFieldValues 
    ON customFieldNames.FIELDID = customFieldValues.FIELDID 
WHERE customFieldValues.MEMID = ... 
関連する問題