【问题标题】:inner join gives back multiple values内连接返回多个值
【发布时间】:2016-05-15 00:59:44
【问题描述】:

我有产品,例如所有这些产品都有。 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>';
}

【问题讨论】:

  • 为什么不分享你得到的文本输出呢? (您可以根据需要更改价格,也可以删除该列,但仅此而已。)
  • 请在图中显示用于生成结果的SQL语句。
  • 哪些表属于产品以及为每个表定义了哪些列?最好是显示表定义。

标签: php inner-join sqlsrv


【解决方案1】:

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

您可能需要一个指向产品表本身的 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
;

【讨论】:

  • 很抱歉无法回复。这是另一个链接,可以更好地了解数据库puu.sh/oSBF2/1af1ce3751.png。想要例如
  • 请编辑您的问题并在此处添加链接,以便其他人也可以轻松找到它。看起来你想要我发布的某种查询。
  • 是我想根据“PRODUCT_GERELATEERD_PRODUCT”表中定义的关系取回产品。例如,如果您查看第一个屏幕截图:如果我在产品 1 的页面上,我想取回产品 2 和 3 的信息。您发布的查询让我更接近了一点,但现在我只想显示首先 2. 感谢您的帮助
  • MS SQL Server 应该具有类似于 MySQL 中的LIMIT 子句的内容。在最坏的情况下,您只会获取 2 行并打破循环。请参阅stackoverflow.com/questions/971964/limit-10-20-in-sql-server 以根据您的服务器版本找到合适的解决方案。
猜你喜欢
  • 2021-05-26
  • 2019-01-13
  • 1970-01-01
  • 2018-11-20
  • 2016-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-28
相关资源
最近更新 更多