-2

有两个表通过不同的所谓 PK 建立关系。

Email     Gender  
a@a.cn    12345  
b@b.cn    12365

PK     String    
12345  MALE  
12365  FEMALE

获取电子邮件和性别字符串的查询是什么样的?

 select 
  user.Email,
  users.Gender
from
  users,
values
4

3 回答 3

4

你会想要JOIN两张桌子。我的建议是使用 ANSIJOIN语法,INNER JOINLEFT JOIN在表之间使用逗号代替,类似于:

select u.Email, v.String
from users u
inner join value v
   on u.Gender = v.PK

请参阅带有演示的 SQL Fiddle

如果您对JOIN语法感到困惑,这里是连接的一个很好的视觉解释

于 2012-11-06T10:30:49.953 回答
1

这就是你需要的。

select user.Email, gender.String
from user, gender
where user.Gender = gender.String

希望有帮助。

于 2012-11-06T10:30:04.323 回答
0

您需要使用联接。

MySQL的情况下

SELECT `user`.`Email`, `gender`.`String`
  FROM `user`, `gender`
  WHERE `user`.`Gender` = `gender`.`String`

MSSQL的情况下

SELECT user.Email, gender.String
  FROM user, gender
  WHERE user.Gender = gender.String

输出:

+------------------+
| Email  |  Gender |
+------------------+
| a@a.cn | MALE    |
| b@b.cn | FEMALE  |
+------------------+
于 2012-11-06T10:31:01.053 回答