gpt4 book ai didi

mysql - 创建查询,当条件为真时添加两个值或仅获取一个值

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

我有两张表,第一个

Table1 
ID Name Value start end fk_table
1 edd 3 2013-03-25 2013-05-25 1
2 tom 3 2013-03-25 2013-05-25 1
3 emi 3 2013-11-25 2013-25-25 1

第二个表

Table2
ID VALUE
1 3

仅当 start <= Date AND t.end >= Date 时,我才想从 table1table2 添加值但如果日期超出范围,我只想从 table1

获取值

假设我们今天的日期是 2013-04-16,预期结果是

edd 6
tom 6
emi 3

我使用 Doctrine 和Symfony2

最佳答案

解决方案可能取决于您的数据库引擎,因为不同的引擎提供不同的 SQL 扩展。你会使用

SELECT Table1.Name, Table1.Value+IF(Table1.start<=? and Table1.end>=?,Table2.VALUE,0) 
FROM Table1
INNER JOIN Table2 ON Table1.fk_table=Table2.ID

对于 mysql。

您还没有编写足够多的有关实体的信息,无法为您提供特定于 Doctrine 的代码,但您也许可以使用

来运行它
$entityManager->createQuery($sql)->execute(array($dateParam,$dateParam))```.

关于mysql - 创建查询,当条件为真时添加两个值或仅获取一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16041812/

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