好吧,我现在用的是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表的结构和内容是理解问题的关键。请分享它的定义和一些示例数据,就像你在状态表中做的那样。 –