gpt4 book ai didi

mysql - 如何从一个表中选择与具有谓词的第二个表中的所有行相匹配的行?

转载 作者:行者123 更新时间:2023-11-29 12:08:39 24 4
gpt4 key购买 nike

我有两个表,一个事务表和一个事务属性表,如下所示。

交易表

CREATE TABLE `mydb`.`event` (
`id` INT NOT NULL AUTO_INCREMENT,
`user` VARCHAR(45) NOT NULL,
`type` INT NOT NULL,
PRIMARY KEY (`id`));

属性表

CREATE TABLE `mydb`.`event_property` (
`event_id` INT NOT NULL,
`property_type` VARCHAR(45) NOT NULL,
`value` VARCHAR(45) NOT NULL,
PRIMARY KEY (`event_id`, `property_type`, `value`),
CONSTRAINT `event_id`
FOREIGN KEY (`event_id`)
REFERENCES `mydb`.`event` (`id`)
ON DELETE RESTRICT
ON UPDATE RESTRICT);

单个事件可能有多个属性。我想选择一个具有两个具有特定值的属性的事件。如何做到这一点?

最佳答案

您可以使用group byhaving来做到这一点:

select event_id
from event_property
where property_type in ('1', '2')
group by event_id
having count(distinct property_type) = 2;

关于mysql - 如何从一个表中选择与具有谓词的第二个表中的所有行相匹配的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31071429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com