mysql - разделить список через запятую на список INT

0
question:

+-----------+-------------------------+
|question id|          help_ref       |
+-----------+-------------------------+
|     1     |      1001,1002,1004     |
+-----------+-------------------------+
|     2     |      1005,1002,1001     |
+-----------+-------------------------
help:

+--------------------+
|help_id|  text      |
+--------------------+
| 1001 | sjfdisfidif |
+--------------------+
| 1002 |  dfdjdjdjjd |
+--------------------+
| 1003 | blafdsjdidjd|
+--------------------+
| 1004 | somethibngjd|
+--------------------+

то, что я пытаюсь выполнить, - получить идентификатор справки из help_ref

что сделало до сих пор:

SELECT *
FROM questions AS a
JOIN 'help' AS b on find_in_set(b.'help_id',a.'help_ref') >0
WHERE b.'help_id' IN (1001,1002) // IM TRYING TO CHANGE THAT TO THE help_ref value
AND 'question_id' = 1

Итак, как я могу изменить значения 1001 1002 в фактическую строку help_ref?

ожидаемый результат:

SELECT *
FROM questions AS a
JOIN 'help' AS b on find_in_set(b.'help_id',a.'help_ref') >0
WHERE b.'help_id' IN (a.'help_ref')
AND 'question_id' = 1

help_id | text
1001    | sjfdisfidif
1002    | dfdjdjdjjd
1004    | somethibngjd
  • 0
    Не могли бы вы показать нам свой ожидаемый результат?
  • 0
    отредактировано, спасибо @D-Shih D-Shih
Теги:

1 ответ

1
Лучший ответ

Я думаю, вы этого хотите:

SELECT h.*
FROM help h
INNER JOIN question q
    ON FIND_IN_SET(h.help_id, q.help_ref) > 0 AND q.question_id = 1;

демонстрация

  • 0
    работает отлично, спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню