MySQL-选择与所有值匹配的记录 [英] MySQL - Select Records that matches all values

查看:58
本文介绍了MySQL-选择与所有值匹配的记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果表"XYZ"包含两列作为组合主键,我需要选择在COLUMN_B中同时包含Va​​lue1 Value2的记录(结果:ID4)

If a table "XYZ" contains two columns as combine primary key, I need to select records that contain both Value1 and Value2 in COLUMN_B ( Result: ID4 )

我尝试使用"IN"查询从XYZ中选择COLUMN_A,其中('VALUE1','VALUE2')中的COLUMN_B;,但它返回COLUMN_B中包含VALUE1 OR VALUE2(ID1,ID2,ID3,ID4)的记录.

I tried with "IN" query select COLUMN_A from XYZ where COLUMN_B in ('VALUE1', 'VALUE2'); but it returns the records which contain VALUE1 OR VALUE2 in COLUMN_B (ID1, ID2, ID3, ID4).

任何人都可以帮助我编写一个可以执行此操作的MySQL查询.

Can anybody please help me to write a MySQL query that can do this.

COLUMN_A    COLUMN_B

ID1         Value1
ID2         Value1
ID3         Value2
ID4         Value1
ID4         Value2
ID5         Value3
ID3         Value3

预先感谢.

推荐答案

在提出建议之前,我应该先对此进行测试,但是呢:

I should test this first before suggesting, but what about:

SELECT DISTINCT tableA.column_A  
FROM XYZ AS tableA, XYZ AS tableB
WHERE tableA.column_A = tableB.column_A
    AND tableA.column_B = 'Value1'
    AND tableB.column_B = 'Value2'

这篇关于MySQL-选择与所有值匹配的记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆