1

我正在尝试使用第三个链接同一数据库中的两个表。

第一个表是产品并具有产品代码。第二张桌子是商店,有商店代码。第三个表有shopcode和对应的productcode。

但是,并非所有产品都已售出,现在它只是在结果中删除了这些产品。

这将列表从 1600 缩小到 753,但是我想查看产品列表和商店是次要问题。

因此,我不想删除整行,而是希望表格只是说没有商店通过将该区域保留为灰色或声明为 NULL 来出售它。

我用过:

SELECT * FROM product, sells
WHERE product.productcode = sells.shopcode 
ORDER BY product.productcode.

我尝试使用谷歌和我的一些朋友找到它,但我似乎找不到答案。

谢谢大家,Jell0zz

编辑:在 Tamago 的帮助下,我把所有东西都放在了正确的桌子上,但至少在 firefox 上,另一个问题是,当没有价值而不是离开桌子的边界时,它会留下一个空白空间,这使它看起来像有部分失踪。另外,在第一列中我放了productID,但是它似乎只显示productID,如果它也在sells中,否则它也会留下一个空白空间。

编码:

$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(或英语的 beer) t2=schenkt(或卖)和 t3=kroeg(或 bar)

免责声明,我不是酒鬼,但我认为我的老师可能是;)

4

1 回答 1

3
SELECT * FROM Products t1

LEFT JOIN myBridgeTable t2
ON t1.ProductID = t2.ProductID

LEFT JOIN Shops t3
ON t2.ShopID = t3.ShopID
于 2012-06-15T19:42:12.930 回答