使用DISTINCT与INNER JOIN重复

时间:2017-03-30 14:43:28

标签: php mysql distinct

因为我从另一张桌子添加了图片,所以它给了我重复,我不知道为什么。我已经放入DISTINCT但没有任何结果。

在这里你可以看到表" fotos"。我的代码的结果将是两次" Internnummer 1"三次" Internnummer 2"。

  

Internnummer | VolgNR | Fotonaam
  1 | 0 | Image_1.jpg
  1 | 1 | Image_2.jpg
  2 | 0 | Image_3.jpg
  2 | 1 | Image_4.jpg
  2 | 2 | Image_5.jpg

在代码中我已经使它的工作只有" VolgNr"将显示0。但是,它仍然会复制其余的数据。

每当我使用它时,一切都很好,当然除了图像。

  

sql =" SELECT DISTINCT * FROM INNER JOIN fotos ON occasion .Internnummer = fotos.Internnummer";

完整代码:

<?php

    $sql = "SELECT DISTINCT * FROM occasions INNER JOIN fotos ON occasions.Internnummer = fotos.Internnummer";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {

        while($row = $result->fetch_assoc()) {
            echo
            "<div class='oc-item'>" .
            // Product image
            "<div class='oc-image'>" .
            "<img src='http://example.com/images/" . ($row['VolgNr'] == 0 ? $row["Fotonaam"] : $row['OmschrijvingNL']) . "'/>" .
            "</div>".
            // Product information
            "<div class='oc-info'><b>" .
            "<a href=\"occasion?id=".$row['Internnummer']."\" >". $row["OmschrijvingNL"]. "</a>" .
            "</b>".
            "<p>" . ($row['Prijs'] == 0 ? 'Prijs op aanvraag' : $row['Prijs']) . "</p><br />" .
            "<p>" .
            $row["Memotekst1NL"]. "</p>" . "<p>" .
            $row["Memotekst2NL"]. "</p>" . "<p>" .
            $row["Memotekst3NL"]. "</p>" . "<p>" .
            $row["Memotekst4NL"]. "</p>" . "<p>" .
            $row["Memotekst5NL"]. "</p>" . "<p>" .
            "<a href=\"occasion?id=".$row['Internnummer']."\" >"."Lees meer..."."</a>" .
            "</div>" .

            "</div>";

            }

    } else {
        echo "Geen resultaten gevonden.";
    }
?>

1 个答案:

答案 0 :(得分:0)

这个问题很容易解决。我添加了WHERE,重复项已经消失。

SELECT * FROM fotos INNER JOIN occasions ON occasions.Internnummer = fotos.Internnummer WHERE VolgNr = 0