За последние 24 часа нас посетили 16584 программиста и 1650 роботов. Сейчас ищут 2027 программистов ...

Вывести из базы, сравнив со значениями, которые записаны в одном поле через запятую?

Тема в разделе "PHP и базы данных", создана пользователем User123, 14 сен 2017.

  1. User123

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

    С нами с:
    23 янв 2015
    Сообщения:
    47
    Симпатии:
    2
    Есть таблица
    id - photo - his

    в поле his вот так записаны данные: 343-2, 123-1, 453-2, 355-1, 324-1, 234-2

    нужно взять his определенного id, и из his (например 343-2, 123-1, 453-2) взять 343,123,453 (это id) и вывести принадлежащие им photo


    подскажите как записать в этот запрос:

    $mysqli->query("SELECT a.his, a.id = '{определенный id}', b.id, b.photo FROM table a, table b WHERE ......

    Спасибо :)
     
  2. Познающий php

    Познающий php Новичок

    С нами с:
    23 мар 2017
    Сообщения:
    381
    Симпатии:
    74
    1. Насколько я понимаю, у тебя плохо спроектированная база, так не хранят в кучу данные, которые потом надо юзать и по ним искать 343-2, 123-1, 453-2, 355-1, 324-1, 234-2
    2. Если тебе нужны данные вида 343,123,453 нахера хранишь в виде 343-2, 123-1, 453-2.
    3. Айди там еще айди, и выведи все айди, белеберда :D

    Вообще должно быть что вида - SELECT photo FROM a WHERE id IN (SELECT his FROM a WHERE id = '{определенный id}');

    но раз ты хранишь там хрень, то сначала делаешь подзапрос, обрабатываешь в php и делаешь основной.
     
    #2 Познающий php, 14 сен 2017
    Последнее редактирование: 14 сен 2017
  3. User123

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

    С нами с:
    23 янв 2015
    Сообщения:
    47
    Симпатии:
    2
    понял. спасибо