我正在尝试从表中获取一些数据,并通过我在第一个查询中获得的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 ....有什么帮助吗?谢谢大家
答案 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。