Использование значения в поле 1, как в () критериях в другом запросе [дублировать]MySql

Форум по Mysql
Ответить
Anonymous
 Использование значения в поле 1, как в () критериях в другом запросе [дублировать]

Сообщение Anonymous »

Мне нужно иметь возможность использовать разделенный списком запятой в поле 1 в качестве критериев для оператора в другом поле, в котором используется Group_Concat () для объединения строк < /p>
Вот пример настройки < /p>

Код: Выделить всё

drop TABLE IF EXISTS testMain;
CREATE TABLE IF NOT EXISTS testMain(
id int(11) NOT NULL auto_increment,
inspectionID int(11) NOT NULL,
lookupIDs varchar(255),
UpdateField text CHARACTER SET UTF8 COLLATE utf8_unicode_ci NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB DEFAULT CHARACTER SET = UTF8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;

drop TABLE IF EXISTS testLookup;
CREATE TABLE IF NOT EXISTS testLookup(
id int(11) NOT NULL auto_increment,
ValueField text CHARACTER SET UTF8 COLLATE utf8_unicode_ci NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB DEFAULT CHARACTER SET = UTF8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;

insert into testMain (inspectionID, lookupIDs) values (1,"1,2,4"),(2,"3,4"),(3,"2");
insert into testLookup (ValueField) values ('A'),('B'),('C'),('D'),('E'),('F');

select
m.inspectionID,
m.lookupIDs,
(select group_concat(ValueField) from testLookup where id in (m.lookupIDs)) as val
from
testMain as m;
I am expecting



InspectionID
lookupIDs
val

< /thead>


1 < /td>
1,2,3 < /td>
a, b, c < /td>
< /tr>

2
/> 3,4 < /td>
c, d < /td>
< /tr>

3 < /td>
2 < /td>
b < /td>
< /tr>

b < /td>
< /tr>

b < /td>
< /tr>
/> Но это только использует первое значение, поэтому я получаю < /p>



InspectionId < /th>
щиты < /th>

< /br /th>
< /br /th> < /br /th> < /br /th> < /br /th> < /br /th> < /br /th> < /br /th> < /br /th>
< /thead>


1 < /td>
1,2,3 < /td>
< /td>
< /tr>

2 < /td>
< /td> < /td> < /td> < /td> < /td> < /td> < /td> < /td> < /td> < /td> < /td> < /td> < /td> < /td> < /td> < /td> < /td> < /td> < /td> < /td> < /td> /> c < /td>
< /tr>

3 < /td>
2 < /td>
b < /td>
< /tr>
< /tbody>
< /table> < /div>
>

Подробнее здесь: https://stackoverflow.com/questions/796 ... ther-query
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»