gpt4 book ai didi

php - mysql查询以查找连接表中的重叠

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

我有 2 个表;配置文件和发票。profiles 是主表,里面有我所有的人。然后其中一些人有发票(个人可以没有,一张或多张发票)。发票表有一个字段“profileid”,将其链接到配置文件中的相关 ID。发票表有一个名为“已支付”的字段,表示“已支付”或“未支付”。

希望一切都清楚

现在我有一个搜索页面,可以在其中搜索所有个人资料。我有 2 个复选框,因此您可以过滤所有已支付发票的复选框和所有未支付发票的复选框。

它单独使用时效果很好,但一起使用时效果不佳。即,如果您勾选已付发票的复选框,它会为您提供所有曾经支付过发票的个人资料,如果您勾选未付款,则会为您提供所有未付发票的人;但是如果你同时勾选这两个框,它会给你 0 个结果,而它应该给你所有有未付和已付发票的人。

这是我的计数查询:

$query = "SELECT COUNT(DISTINCT profiles.id) AS num FROM profiles 
LEFT JOIN invoices ON (profiles.id=invoices.profileid)
AND (invoices.paid='Paid' OR invoices.paid='Unpaid')
WHERE
(
IFNULL(invoices.paid, '') LIKE '$paid%'
AND IFNULL(invoices.paid, '') LIKE '$unpaid%'
);

为此花费了很长时间,但无法正常工作,非常感谢任何帮助。谢谢

最佳答案

它检查是否同时支付了 未支付。显然不可能两者兼而有之!

您将不得不使用OR,或者在两个选项都被选中的情况下跳过此检查。

关于php - mysql查询以查找连接表中的重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16926016/

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