内部联接返回多个值


inner join gives back multiple values

我有产品,例如,所有这些产品都有。id、名称和价格。所有这些产品都连接在数据库中,如下所示:

既然我没有10个名声。。。这是一个图片链接http://puu.sh/oS95c/b7b5b17427.png

我想要实现的是让连接到另一个产品的产品使用内部连接显示在屏幕上。然而,我没有取回连接的项目,而是取回右列的每个项目,即使它们没有连接。

这里有一个链接,可以更好地查看数据库:http://puu.sh/oSBF2/1af1ce3751.png

$sql = "SELECT   AFBEELDING_KLEIN, PRODUCTNAAM, PRIJS
    FROM PRODUCT
    inner JOIN PRODUCT_GERELATEERD_PRODUCT
    ON PRODUCT.PRODUCTNUMMER=PRODUCT_GERELATEERD_PRODUCT.PRODUCTNUMMER_GERELATEERD_PRODUCT";
$result = sqlsrv_query($db, $sql);
$data = sqlsrv_fetch_array($result);
while($data = sqlsrv_fetch_array($result)) {
    $big_picture = '<img src="../' . $data["AFBEELDING_KLEIN"] . '"' . 'alt="product">';
    $link = '<a href="../productpaginas/' . $data["PRODUCTNAAM"] . '.php"<p>&nbsp;' . $data["PRODUCTNAAM"] . '</p></a>';
    $price = '<h2>&nbsp; &#8364;' . $data["PRIJS"] . '</h2>';
    echo '<div class="product">';
    echo $big_picture;
    echo $link;
    echo $price;
    echo '</div>';
}

由于您对问题免疫,并且没有提供更多信息,我们只能猜测。

您可能需要一个返回到产品表本身的m:n链接。

SELECT
  p1.PRODUCTNUMMER, p2.AFBEELDING_KLEIN, p2.PRODUCTNAAM, p2.PRIJS
FROM
  PRODUCT AS p1
INNER JOIN
  PRODUCT_GERELATEERD_PRODUCT AS pgp
ON
  p1.PRODUCTNUMMER = pgp.PRODUCTNUMMER
INNER JOIN
  PRODUCT AS p2
ON
  pgp.PRODUCTNUMMER_GERELATEERD_PRODUCT = p2.PRODUCTNUMMER
;