gpt4 book ai didi

php - MySQL SELECT COUNT(*) 根据多个条件从两个表中

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

我遇到了某种逻辑/sql 挑战。我有两个保存用户数据并通过 id 关联的表。我想根据两个表中的条件选择行数。

这是我的表格。

表一

t_contacts
id | name | tel | profession | email | sex | city | state |
int | varchar | varchar | int | varchar | char | varchar | varchar |

表二

t_contacts_meta
cid | interest |
int (t_contact_id) | varchar |

在该表中,联系人存储在 t_contacts 表中,他们的兴趣存储在 t_contacts_meta 表中。一位联系人可能有多种兴趣。

我的问题是 SQL 查询。示例

 SELECT COUNT(*) as count 
FROM t_contacts
where `state`='$state'
AND `profession`='$profession'
AND `sex`='$sex'
AND (
`t_contacts_meta.interest`='$interest_1'
OR `t_contacts_meta.interest`='$interest_2
OR `t_contacts_meta.interest`='$interest_n'
)

我上面提供的 sql 不是我的工作代码,它只是一个示例。我什至不知道如何进行查询。

感谢您的帮助:)

最佳答案

这可能是您正在寻找的:

SELECT COUNT(C.id) AS [count]
FROM t_contacts C
INNER JOIN t_contacts_meta M ON M.cid = C.id
AND M.interest IN ('interest_1', 'interest_2', 'interest_n')
WHERE C.state = 'state_value'
AND C.profession = 'profession_value'
AND C.sex = 'sex_value'

希望这对您有帮助。

关于php - MySQL SELECT COUNT(*) 根据多个条件从两个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25611678/

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