好吧,我現在用的是states
表中找到here子查詢不工作,但用子查詢結果確實
...和一張桌子default_item
定義:
CREATE TABLE IF NOT EXISTS `default_item` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`States` varchar(200) NOT NULL DEFAULT '""'
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=637 ;
INSERT INTO `default_Item` (`id` `States`) VALUES
(636, '''AR'',''CA''');
我有一個表中的字段包含國家縮寫列表,該字段爲「國家」,所以如果我選擇這些領域的例子之一:
SELECT `States`
FROM `default_item`
WHERE `id`=636
此通過的phpMyAdmin返回:
'AR','CA'
我希望能夠從表「狀態」的狀態名稱,以取代狀態的縮寫上面提到。如果我使用:
SELECT group_concat(`state`)
FROM `state`
WHERE `state_abbr`
IN (
'AR', 'CA'
)
它的工作原理!我得到:
Arkansas,California
但是,如果使用子查詢...
SELECT group_concat(`state`)
FROM `state`
WHERE `state_abbr`
IN (
SELECT `States`
FROM `default_item`
WHERE `id`=636
)
...這個返回NULL。
一直在尋找一些暗示我做錯了什麼,但似乎無法找到竅門。任何人都有解決方案?
瞭解default_item表的結構和內容是理解問題的關鍵。請分享它的定義和一些示例數據,就像你在狀態表中做的那樣。 –