十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
我很想帮你,但是我还是看不懂你的问题,表名,表字段名,查询要求都没有,谁指点得了你?
创新互联-专业网站定制、快速模板网站建设、高性价比松原网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式松原网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖松原地区。费用合理售后完善,10多年实体公司更值得信赖。
下面是我的理解
SELECT * from index_cate_share where gid in (SELECT DISTINCT(sgi.share_id) FROM index_cate_share AS sgi)
?php
$conn1 = mysql_connect("127.0.0.1", "root","root","db1");
mysql_select_db("db1", $conn1);
$conn2 = mysql_connect("127.0.0.1", "root","root","db2");
mysql_select_db("db2", $conn2);
$sql = "select * from db1.ip"; //关联数据库
$query = mysql_query($sql);
if($row = mysql_fetch_array($query))
echo $row[0]."\n";
$sql = "select * from db2.web ";
$query = mysql_query($sql);
if($row = mysql_fetch_array($query))
echo $row[0];
?
这个我也不知道 在网上帮你查了下 网页链接
有两个表,A表存储临时数据,B表存储永久数据,AB表有相同的id字段,为了区别A的叫gid,B的就叫id。
id都是唯一的。需要按照A表id的顺序读取A和B的所有数据。
查询语句:
$sqlt="select * FROM A LEFT JOIN B ON A.gid=B.id ORDER BY gid DESC ";
方法:
left join:联合两个表:条件是id相同,顺序按照A表排列。
先查询出表a中question_detial字段,再通过php正则匹配获取标签[attach]1[/attach]中的ID,通过该ID查询表b,获取到file_location字段,然后通过php(str_replace)替换掉question_detial中的标签[attach]1[/attach]
$sql = 'select * from `表A` where 条件';
$res = mysql_query($sql);
$data = mysql_fetch_assoc($res);
$question_detial = $data['question_detial'];
preg_match_all('/\[attach\]([0-9]*)\[\/attach\]/',$question_detial,$match);
if(isset($match[1]) $match[1]){
$str_search = null;
$str_replace = null;
foreach($match[1] as $key = $val){
$str_search[$key] = '[attach]'.$val.'[/attach]';
$str_replace[$key] = '';
$sql_b = "select file_location from `表B` where id=".$val;
$res_b = mysql_query($sql_b);
$row_b = mysql_fetch_assoc($res_b);
$str_replace[$key] = 'img src="'.$row_b['file_location'].'" /';
}
$data['question_detial'] = str_replace($str_search,$str_replace,$question_detial);
}
print_r($data);
b, c, d 三张表的 name 你给出了a表的四个字段,第四个字段是干嘛的?
userId 不加上了,不知道你这个字段是干嘛的。 b, c, d 三张表中的name字段对应着a表中的wareId, goodsId, wareManager
SELECT
*
FROM
a, b, c, d
WHERE
a.wareId = b.name
AND
a.goodsId = c.name
AND
a.wareManager = d.name;
hasOne, hasMany 这是ORM 的一种关系。
你猜想的没错,很多都是先做一次查询,再根据第一次查询结果进行二次查询。
一般来说left jion 的效果比二次查询要慢哦。
如果这样操作没有问题就可以了,还有不懂得你可以去后盾人看看视频学习,视频很全面哦