За последние 24 часа нас посетили 22854 программиста и 1240 роботов. Сейчас ищут 756 программистов ...

Как получить уникальные значения поля ориентируясь по другому полю?

Тема в разделе "PHP и базы данных", создана пользователем primitiv, 25 мар 2022.

Метки:
  1. primitiv

    primitiv Активный пользователь

    С нами с:
    22 ноя 2018
    Сообщения:
    40
    Симпатии:
    0
    Предположим есть таблица с тремя полями id, product и color, в product хранятся типы товаров а в color их цвета, например в product храниться десять маяк и пять свитеров, а в color 7 уникальных цветов принадлежащим майкам (свитеры не важны), как получить все уникальные цвета относящиеся к майкам
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.824
    Симпатии:
    738
    Адрес:
    Татарстан
    Код (Text):
    1.   Select * from products where product_id = свитер_ид group by color
     
  3. primitiv

    primitiv Активный пользователь

    С нами с:
    22 ноя 2018
    Сообщения:
    40
    Симпатии:
    0
    Скажите пожалуйста а как этот запрос должен выглядеть на php pdo, по какой-то причине у меня не получается его правильно составит
     
  4. Slava Rozhnev

    Slava Rozhnev Новичок

    С нами с:
    6 сен 2021
    Сообщения:
    87
    Симпатии:
    26
    Адрес:
    https://phpize.online
    Вот пример с использованием а запрос ADSoft не корректен. Он будет выдавать ошибку

    PHP:
    1. <?php
    2.  
    3. $product = 'sweater';
    4. $query = "select distinct color from products where product = ?;";
    5.  
    6. // get DB version using PDO
    7. $stmt = $pdo->prepare($query);
    8. $stmt->execute([$product]);
    9. $colors = $stmt->fetchAll(PDO::FETCH_ASSOC);
    10.  
    11. print_r($colors);
    https://phpize.online/sql/mysql57/a...c5/php/php8/3f844d9d64b5fea59b984490a19a63a3/
     
    primitiv нравится это.
  5. primitiv

    primitiv Активный пользователь

    С нами с:
    22 ноя 2018
    Сообщения:
    40
    Симпатии:
    0
    Просто огромное спасибо
     
  6. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    В первом запросе норм. работе мешает только наличие поля id в списке выбора, если речь о мускуле. Мутное условие в WHERE в расчет не беру – ADSoft очевидно был сильно уставший, когда писал ЭТО. Если использовать описанное ТСом условие (product=), то все будет норм., т.е. с таким условием можно даже поле product указать в списке выбора.
     
  7. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.824
    Симпатии:
    738
    Адрес:
    Татарстан
    Ну ребята, прям все разжуй. Принцип главное
     
  8. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    417
    Симпатии:
    71
    Только написали запрос для свитеров , а вопрос был за майки. :)