У меня есть две таблицы, в одной из которых есть столбец, в котором содержится идентификатор другой таблицы. Этот столбец может содержать более одного идентификатора, поэтому я сохраняю его в виде списка, например значения «1,2,3,4». Поэтому я стараюсь использовать следующее:
SELECT TableAValue
FROM TableA
WHERE TableAID IN
(SELECT TableAID FROM TableB WHERE TableBID = 1)
Это возвращает только одно значение.
Теперь, если я использую:
SELECT TableAID FROM TableB WHERE TableBID = 1
Это возвращает четыре значения. Также, если я скопирую эти четыре значения и использую:
SELECT TableAValue
FROM TableA
WHERE TableAID IN
(1,2,3,4)
Это вернет мне четыре значения. Это кажется чем-то очень простым, поэтому, я думаю, я либо делаю это совершенно неправильно, либо мне не хватает каких-то мелких деталей. Есть идеи?