【发布时间】:2011-08-22 16:10:15
【问题描述】:
你好,
我有以下sql表+数据:
CREATE TABLE IF NOT EXISTS `job_requires` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`Job_id` bigint(20) unsigned NOT NULL,
`Group_Index` int(11) NOT NULL,
`Field_id` bigint(20) unsigned NOT NULL,
`Field_Value` int(11) NOT NULL,
PRIMARY KEY (`id`)
)
INSERT INTO `job_requires`
(`id`, `Job_id`, `Group_Index`, `Field_id`, `Field_Value`)
VALUES
(1, 7, 1, 11, 50),
(2, 7, 1, 14, 50),
(3, 7, 1, 11, 59),
(4, 7, 2, 14, 1),
(5, 7, 2, 11, 2),
(6, 8, 1, 14, 55),
(7, 8, 1, 11, 50),
(8, 8, 1, 14, 59),
(9, 8, 2, 11, 60),
(10, 8, 2, 14, 61);
我需要通过基于“Field_id”+“Field_Value”字段的过滤来获取所有“Job_id”。 我希望查询类似于:
SELECT job_requires.Job_id
FROM job_requires
WHERE (Field_id=11 AND Field_Value=50) AND (Field_id=14 AND Field_Value=1)
我的问题是我希望查询也基于 Group_Index 字段:
仅当我之前的查询中的 'Job_id' 具有两个条件,并且这些条件具有相同的 Group_Index 时,它应该在查询的结果中。
更新:我不知道查询会有多少过滤器,也可能是:
SELECT job_requires.Job_id
FROM job_requires
WHERE (Field_id=11 AND Field_Value=50) AND (Field_id=14 AND Field_Value=1) AND (Field_id=16 AND Field_Value=56) AND (Field_id=12 AND Field_Value=26)
我希望你能理解我的问题,因为我的英语不是很好:(
非常感谢
【问题讨论】:
标签: mysql sql select mysqldump