我有两个表,我们称它们为DB1和DB2,我想加入它们,但同时过滤它们两个。
示例(在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中的值。
答案 0 :(得分:1)
SQL语句由多个子句组成,其中包括SELECT
,FROM
,WHERE
。这些应该按此顺序显示在SELECT
语句中。
JOIN
是FROM
子句中的运算符。
因此,您的查询应类似于:
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;
注意: