gpt4 book ai didi

mysql - 选择链接表中具有计数的行

转载 作者:行者123 更新时间:2023-11-29 05:41:12 25 4
gpt4 key购买 nike

我有一个我怀疑是简单的问题,但我的 sql 技能不存在,Google 也没有帮助我(目前)。

我有以下表格(为了便于阅读而进行了精简):

CREATE TABLE IF NOT EXISTS `PROPERTIES` (
`ID` int(11) NOT NULL auto_increment,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=111 ;

CREATE TABLE IF NOT EXISTS `PROPERTY_PHOTOS` (
`ID` int(11) NOT NULL auto_increment,
`PROPERTY_ID` int(11) NOT NULL,
`PHOTO` varchar(128) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=911 ;

哪个链接在 PROPERTIES.ID = PROPERTY_PHOTOS.PROPERTY_ID

我想做的是:

SELECT P.ID FROM PROPERTIES P WHERE COUNT(SELECT PP.ID FROM PROPERTY_PHOTOS PP WHERE PP.PROPERTY_ID = P.ID) > 0

SELECT P.ID FROM PROPERTIES P HAVING COUNT(SELECT PP.ID FROM PROPERTY_PHOTOS PP WHERE PP.PROPERTY_ID = P.ID) > 0

但是,这两个查询在语法上都不正确。

谁能告诉我如何只从 PROPERTY_PHOTOS 表中有相应记录的 PROPERTIES 中选择记录?

最佳答案

    SELECT P.ID,COUNT(*)
FROM PROPERTIES P
, PROPERTY_PHOTOS PP
WHERE PP.PROPERTY_ID = P.ID
GROUP BY P.ID
HAVING COUNT(*) > 0

或者实际上,如果您不关心计数,则常规连接应该有效

SELECT DISTINCT P.ID
FROM PROPERTIES P
, PROPERTY_PHOTOS PP
WHERE PP.PROPERTY_ID = P.ID

关于mysql - 选择链接表中具有计数的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6698401/

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