我有兩個MySQL表是這樣的:CSV在條件Mysql的
表A
[name] | [id]
---------------------
Shirts 1, 10, 16, 18
Pants 14, 11
Skirts 19, 13, 15
表B
[id] | [s_id]
---------------------
ABC 1
AC 1
DE 10
DEC 19
ACD 16
BCD 18
BCO 18
現在我需要從TableB
得到id
s表示匹配s_id
即從任何給定的名稱。
查詢應該是這樣的:
SELECT id
FROM TableB
WHERE s_id IN (SELECT id
FROM TableA
WHERE name = 'Shirts')
所以子查詢返回1, 10, 16, 18
(CSV)。但我知道這不能在子查詢中像這樣使用。
任何想法?
你有什麼是一個非常糟糕的模式。由於我真的不明白表中的這些id是什麼,所以我很難給出如何解決該模式的答案。你能用現實世界的術語來解釋表格代表什麼,所以可以給出如何解決你的模式的建議? –
我明白架構狀況不佳。但不幸的是,我不能改變這個模式,因爲它剛剛開發了一個現有的現場產品。 –
它總是讓我驚訝,人們問這些問題的時候經常說「我不能改變模式」。有時在軟件開發模式中需要改變,尤其是在你試圖以前沒有做過的方式查詢數據的情況下。 –