Я постараюсь описать это как можно лучше У меня есть вложенный оператор выбора с предложением where in, но вложенная часть выбора должна интерпретироваться как буквенная строка (я считаю, что это правильная терминология). Однако поведение mysql по умолчанию приводит к результату, который я не хочу.
* 1003 Т.е. *
select class
from cs_item
where code="007"
+-------+
| class |
+-------+
| 1,3 |
+-------+
А ниже приведен запрос, если я явно наберу «in (1,3)» как часть запроса выбора:
select alpha,description
from cs_quality
where class in (1,3);
+-------+-------------+
| alpha | description |
+-------+-------------+
| STD | STD |
| XS | XS |
| 5 | Sch 5 |
| 10 | Sch 10 |
| 20 | Sch 20 |
| 40 | Sch 40 |
| 60 | Sch 60 |
| 80 | Sch 80 |
| 100 | Sch 100 |
| 120 | Sch 120 |
| 140 | Sch 140 |
| 160 | Sch 160 |
| XXS | XXS |
| 15L | 150# |
| 30L | 300# |
| 40L | 400# |
| 60L | 600# |
| 90L | 900# |
| 150L | 1500# |
| 200L | 2000# |
| 250L | 2500# |
| 300L | 3000# |
| 400L | 4000# |
| 600L | 6000# |
| 900L | 9000# |
+-------+-------------+
Но когда я иду сюда, чтобы получить такой же результат, как у меня ...
select alpha,description
from cs_quality
where class in (select class from cs_item where code = "007")
+-------+-------------+
| alpha | description |
+-------+-------------+
| STD | STD |
| XS | XS |
| 5 | Sch 5 |
| 10 | Sch 10 |
| 20 | Sch 20 |
| 40 | Sch 40 |
| 60 | Sch 60 |
| 80 | Sch 80 |
| 100 | Sch 100 |
| 120 | Sch 120 |
| 140 | Sch 140 |
| 160 | Sch 160 |
| XXS | XXS |
+-------+-------------+
Который является просто частью "класса в 1" ... он останавливается на компоненте ", 3". Есть ли способ для вложенного выбора быть интерпретированным как буквальный текст?
Спасибо всем, высоко ценится. У меня была небольшая проблема с формулировкой этого вопроса, но я буду редактировать по мере необходимости.