多条件搜索查询

飞凡的陀螺 2014-11-07 12:22:49


如图,
满足条件 propId = 2 且 valueId =4 还需满足 propId = 3 且 valueId =8 的itemId
这时只有item =4满足
item为6 不满足 以为只有 propId = 3 且 valueId =8
...全文
175 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞凡的陀螺 2014-11-22
  • 打赏
  • 举报
回复
学习了 结贴
k10509806 2014-11-08
  • 打赏
  • 举报
回复
学习学习了。
飞凡的陀螺 2014-11-07
  • 打赏
  • 举报
回复
SQL
/*
Navicat MySQL Data Transfer

Source Server         : localhost
Source Server Version : 50527
Source Host           : localhost:3306
Source Database       : zhiai

Target Server Type    : MYSQL
Target Server Version : 50527
File Encoding         : 65001

Date: 2014-11-07 12:17:51
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for za_item_property
-- ----------------------------
DROP TABLE IF EXISTS `za_item_property`;
CREATE TABLE `za_item_property` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `itemId` int(11) DEFAULT NULL,
  `propId` int(11) DEFAULT NULL,
  `valueId` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `za_item_property_itemId` (`itemId`),
  KEY `za_item_property_propId` (`propId`),
  KEY `za_item_property_valueId` (`valueId`),
  CONSTRAINT `za_item_property_itemId` FOREIGN KEY (`itemId`) REFERENCES `za_item` (`id`),
  CONSTRAINT `za_item_property_propId` FOREIGN KEY (`propId`) REFERENCES `za_property_name` (`id`),
  CONSTRAINT `za_item_property_valueId` FOREIGN KEY (`valueId`) REFERENCES `za_property_value` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of za_item_property
-- ----------------------------
INSERT INTO `za_item_property` VALUES ('1', '4', '1', '1');
INSERT INTO `za_item_property` VALUES ('2', '4', '2', '4');
INSERT INTO `za_item_property` VALUES ('3', '4', '3', '8');
INSERT INTO `za_item_property` VALUES ('4', '6', '1', '3');
INSERT INTO `za_item_property` VALUES ('5', '6', '2', '5');
INSERT INTO `za_item_property` VALUES ('6', '6', '3', '8');
INSERT INTO `za_item_property` VALUES ('9', '5', '2', '4');
INSERT INTO `za_item_property` VALUES ('11', '5', '1', '3');
ACMAIN_CHM 2014-11-07
  • 打赏
  • 举报
回复
select a.itemId
from za_item_property a,za_item_property b
where a.itemId=b.itemId 
and a.propId = 2 and a.valueId =4 
and b.propId = 3 and b.valueId =8
yl784248831 2014-11-07
  • 打赏
  • 举报
回复
CT_LXL 2014-11-07
  • 打赏
  • 举报
回复
引用 1 楼 mafeifan 的回复:

select *
  from t t2
 where t2.itemid in (select itemid
                       from t t1
                      where t1.propid = 2
                        and valueid = 4)
   and t2.propid = 3
   and t2.valueid = 8

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧