1

Можно ли такой запрос сформировать?

Мне нужно взять с первой таблицы строку по ID и по этому же ID вытащить строку, из второй таблицы, куда входит этот ID.

Во второй таблице, где проверяется ID, строка там такая 1,2,3,4 т.е. где значений много, оно разделяется запятыми, где значение одно, без запятых.

Пробовал так:

WHERE Table1._id = '1' AND '1' IN (Table2.column2)
#Пробовал также ставить Table1._id, вместо значения после AND

Ошибки кода нет, просто не выводит, 0 строк показывает, подскажите пожалуйста, что неправильно делаю.

Iman
  • 591
  • @Mike , я не ас в sql, я прочитал, эту запись, поставил после AND FIND_IN_SET ('1',Table2.Colum2), мне написало, что нет такой функции. Сделал так: WHERE Table1._id = '1' AND (',' || Table2.Column2 || ',') LIKE '%,1,%', все заработало – Iman Dec 18 '17 at 10:23
  • поставил после AND FIND_IN_SET ('1',Table2.Colum2), мне написало, что нет такой функции А на зачем пробел после имени функции? Сделал так: WHERE Table1._id = '1' AND (',' || Table2.Column2 || ',') LIKE '%,1,%', все заработало Ага, только не так, как ты задумал. || - у MySQL это логический OR, а ни разу не конкатенация. – Akina Dec 18 '17 at 10:28
  • @Akina Учитывая, что сказало что функции find_in_set() нет, думаю это не MySQL :) – Mike Dec 18 '17 at 10:37
  • @Akina, я убирал пробел и также писало, что нет такой функции. А на счет конкатенации не знаю, все работает, если у меня в Table2.Column2, например одно значение без запятых и пробелов, оно показывает его, если там много значений, через запятую, оно все равно все правильно показывает, не знаю, что может не так работать. – Iman Dec 18 '17 at 10:39
  • Тогда Вам СРОЧНО надо посмотреть, какой у Вас сервер БД. Пока не стало мучительно больно... – Akina Dec 18 '17 at 10:54
  • @Akina )))))) Пардон друзья, это был SQLite, а не mysql. Я из отдельно взятого файла бд file.db тащу все это просто. – Iman Dec 18 '17 at 11:26

0 Answers0