3 番目のテーブルを使用して、同じデータベース内の 2 つのテーブルをリンクしようとしています。
最初のテーブルは製品で、製品コードがあります。2 番目のテーブルは shop で、shopcode があります。3 番目のテーブルには、ショップコードと対応する製品コードがあります。
ただし、すべての製品が販売されているわけではなく、結果でそれらの製品が削除されるだけです。
これにより、リストが 1600 から 753 に縮小されますが、製品とショップのリストを確認したいのは二次的な問題です。
そのため、行全体を削除する代わりに、エリアをグレーのままにするか、NULL を指定して、テーブルを販売している店がないことをテーブルに伝えたいと思います。
私が使用した:
SELECT * FROM product, sells
WHERE product.productcode = sells.shopcode
ORDER BY product.productcode.
グーグルと数人の友人を使って見つけようとしましたが、答えが見つからないようです。
Jell0zz の皆さん、ありがとうございました
編集:たまごの助けの後、私は正しいテーブルにすべてを持っていますが、少なくともfirefoxでは、別の問題は、テーブルの境界を離れる代わりに値がない場合、空のスペースが残ることです。これにより、パーツがあるように見えますない。また、最初の列にproductIDを入力しましたが、productIDも販売されている場合にのみ表示され、そうでない場合は空のスペースも残ります。
コード:
$sql = 'SELECT * FROM bier LEFT JOIN schenkt ON bier.biercode = schenkt.biercode LEFT JOIN kroeg ON schenkt.kroegcode = kroeg.kroegcode'; $resultaat = $db->query($sql); echo '<table border = 0>'; echo "<tr> <td style = 'width:100%;'>"; echo '<table border = 1>'; foreach($resultaat as $row) { echo '<tr>'; $nummer = $row['bier.biercode']; echo '<td>'.$row['bier.biercode'].'</td>'; echo '<td>'.$row['naam'].'</td>'; echo '<td>'.$row['type'].'</td>'; echo '<td>'.$row['stijl'].'</td>'; echo '<td>'.$row['alcohol'].'</td>'; echo '<td>'.$row['kroegnaam'].'</td>'; echo '<td>'.$row['adres'].'</td>'; echo '<td>'.$row['plaats'].'</td>';
t1=bier (または英語でビール) t2=schenkt (または販売) および t3=kroeg (またはバー) であることに注意してください。
免責事項、私はアルコール依存症ではありませんが、私の先生はそうかもしれません ;)