gpt4 book ai didi

php - 有没有办法在使用 JOIN 时为两个数据库放置 WHERE ?

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

我有两个表,我们将它们称为 DB1 和 DB2,我想要 JOIN,但要过滤它们。

示例(在 PHP 中使用它):

public function PersonalData($example)
{
$this->getDBConnection('cms1', 'cms_neu');

$sql = "SELECT id1, name1, status1, section1
FROM DB1 pd
WHERE id1 = '".$example['id1']."'
AND status1 = 1
JOIN DB2 dp ON pd.section1 = dp.section2
WHERE dp.type2 = 30";
$query = $this->dbh->query($sql);
$result = $query->fetchAll();

return $result;
}

我什至无法正确解释我自己需要什么,因此我无法真正找到解决方案

我尝试过使用 JOIN 并在其后添加 WHERE/AND,但我认为这不会起作用。

因此它应该选择每个 id1 并根据 type2 恰好为 30 将section1 的值更改为section2 中的值。

最佳答案

SQL语句由子句组成,子句包括SELECTFROMWHERE。这些应该按此顺序出现在 SELECT 语句中。

JOINFROM 子句中的运算符。

因此,您的查询应如下所示:

SELECT id1, name1, status1, section1  
FROM DB1 pd JOIN
DB2 dp
ON pd.section1 = dp.section2
WHERE pd.id1 = '".$example['id1']."' AND
pd.status1 = 1 AND
dp.type2 = 30;

注释:

  • 学习使用参数!不要将查询字符串与参数值混合在一起。这只会导致代码风险和难以调试的错误。
  • 限定所有列引用,特别是当查询包含的内容多于表引用时。

关于php - 有没有办法在使用 JOIN 时为两个数据库放置 WHERE ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56954273/

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