使用$ pdo从2个表中获取相同ID的数据

时间:2014-01-28 14:59:47

标签: php mysql sql select pdo

我正在尝试从表中获取一些数据,并通过我在第一个查询中获得的id在其他表上搜索另一个字段

$db = new PDO('mysql:host=localhost;dbname=xxxxx;charset=utf8', 'xxxxx', 'xxxx');
foreach($db->query('SELECT * FROM oc_store') as $row) {
    echo $row['name'].' '.$row['url']. ' '. $row['store_id']; 
}

这很好用。但我必须

select value from oc_setting where store_id == oc_store.store_id and key == config_logo

并回应所有人,例如:

echo $row['name'].' '.$row['url']. ' '. $row['store_id']. ' ' .$row['value'];

我尝试了嵌套的foeach(愚蠢的我:P)以及LEFT JOIN,但我担心我无法让它工作,也许我错过了正确的sintax ....有什么帮助吗?谢谢大家

2 个答案:

答案 0 :(得分:0)

你可能意味着你需要

select se.value, st.name, st.url
FROM
oc_setting  se
INNER JOIN
oc_store st
ON st.store_id = se.store_id and st.key = 'config_logo'

答案 1 :(得分:0)

它不适用于左连接?

我真的是新来的,我很想试一试。

SELECT st.*, se.value FROM oc_store st LEFT JOIN oc_setting se ON st.store_id = se.store_id AND se.key = config_logo;

这就是IMO。希望它有效:)

注意:我不确定key = config_logo,因为config_logo来自哪里,或者它们来自这两个表。键,我假设它属于oc_settings。