我會盡力詳細介紹這一點。我有一個帶有where子句的嵌套select語句,但select的嵌套部分應該被解釋爲一個文字字符串(我相信這是正確的術語)。然而,MySQL的默認行爲導致我不想要的結果。使用「where in」子句嵌套的MySql Select語句
I.e.
select class
from cs_item
where code="007"
+-------+
| class |
+-------+
| 1,3 |
+-------+
及以下的是,如果我明確地「在(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" 組件上。有沒有辦法將嵌套選擇解釋爲文本文本?
謝謝大家,非常感謝。對於這個問題,我有點麻煩,但會根據需要進行編輯。
規範化您的數據模型。不要在一列中存儲文字「1,3」。 –