子查询会产生多个值

时间:2013-04-01 06:29:49

标签: mysql subquery

我有两张桌子:

table_people

  • COL_NAME
  • col_sex

table_gender

  • col_male
  • col_female

假设table_people包含三行, (a,'M'),(b,'M'),(c,'F')

现在我需要一个查询(子查询)将第一个表值插入第二个表中: 的 (A,C),(B, '')

如果可以在mysql中使用?

2 个答案:

答案 0 :(得分:0)

你的表结构很糟糕。

我的建议是放弃table_gender,因为它根本没有意义。您已在表table_people上列出了包含性别的人员。

如果您想单独列出性别,可以生成VIEW

CREATE VIEW MaleList
AS
SELECT col_name
FROM   table_people
WHERE  col_sex = 'M'

和另一个女性名单的观点。

CREATE VIEW FemaleList
AS
SELECT col_name
FROM   table_people
WHERE  col_sex = 'F'

答案 1 :(得分:0)

首先,表结构很糟糕。当你在table_people中使用col_sex时,我没有看到在另一个表中保存M或F的观点。仍然如果你想这样做,首先你必须指定连接两个表的外键。