从2个不同的表中获取值,但仅显示1个表数据

时间:2017-03-08 05:21:42

标签: sql join group-by inner-join

枝 可能不清楚我在标题中的查询,让我在说明中清楚你。 我在DB中有2个表,名称为'ABC'和'XYZ'。

ABC表

| ID |名字|电话|性别|

1 |戴夫| 23423 |男
  2 |雷曼| 987887 |女
3 |肖恩| 6237267 |男士

XYZ表

| ID | user-id |血型| rh因子|

1 | 3 | AB | +
2 | 1 |                              C | -


如上所示有两个表,现在我想要性别为男性,血型为B且rh因子为负的用户的结果。 但输出应该是

| ID |名字|电话|性别|

1 |戴夫| 23423 |男

希望你明白我的意思。我不知道应该有用户GROUP BY或什么。 提前谢谢。

3 个答案:

答案 0 :(得分:1)

SELECT a.* FROM ABC a JOIN XYZ b ON a.ID=b.ID
WHERE b.Bloodgroup='B' AND a.gender='Male' and b.rh_factor='-'

答案 1 :(得分:1)

试试这个!..

从abc inner join xyz中选择abc.id,abc.name,abc.phone,abc.gender 在abc.id = xyz.user-id,其中abc.gender ='男性'和xyz.blood-group =' b'和xyz.rh-factor =' - '

的问候。 SK

答案 2 :(得分:1)

您可以简单地使用INNER JOIN:

SELECT a.* FROM ABC a INNER JOIN XYZ b ON a.ID = b.`user-id`
WHERE  b.bood_group = 'B' and b.rh-factor = '-'

如果你的列中有连字符,请使用反引号(`),就像你的用户ID一样