php多表关联查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php多表关联查询相关的知识,希望对你有一定的参考价值。

$sql = "SELECT COUNT(og.goods_id) FROM " .
$GLOBALS['ecs']->table('order_info') . ' AS oi,'.
$GLOBALS['ecs']->table('order_goods') . ' AS og '.
$where;
$filter['record_count'] = $GLOBALS['db']->getOne($sql);

/* 分页大小 */
$filter = page_and_size($filter);

$sql = 'SELECT og.goods_id, og.goods_sn, og.goods_name,og.goods_attr, og.goods_number AS goods_num, og.goods_price '.
'AS sales_price, oi.add_time AS sales_time, oi.order_id, oi.order_sn,oi.consignee,oi.shipping_name,oi.address,oi.tel,oi.goods_amount,oi.invoice_no,oi.shipping_fee '.
"FROM " . $GLOBALS['ecs']->table('order_goods')." AS og, ".$GLOBALS['ecs']->table('order_info')." AS oi ".
$where. " ORDER BY sales_time DESC, goods_num DESC";

if ($is_pagination)

$sql .= " LIMIT " . $filter['start'] . ', ' . $filter['page_size'];


$sale_list_data = $GLOBALS['db']->getAll($sql);

现在问题是:在这基础上 获得产品表(goods)的字段: gonghuojia数据

在这句代码
"FROM " . $GLOBALS[\'ecs\']->table(\'order_goods\')." AS og, ".$GLOBALS[\'ecs\']->table(\'order_info\')." AS oi ".

后面加(注意点号的连接):
" LEFT JOIN ". $GLOBALS[\'ecs\']->table(\'goods\') . "AS g ON og.goods_id = g.goods_id ".

然后在开头的sql语句后面这里加上你要的字段:
$sql = \'SELECT og.goods_id, og.goods_sn, og.goods_name,og.goods_attr, og.goods_number AS goods_num, og.goods_price, g.gonghuojia \'.

最后你去测试看一下行不行.
参考技术A 你参考一下这篇博客:http://blog.sina.com.cn/s/blog_b4540d020101c2lb.html

28.多表查询——跨关联关系的多表查询

多表查询—跨关联关系的查询

**Django 提供一种强大而又直观的方式来“处理”查询中的关联关系,它在后台自动帮你处理JOIN。 若要跨越关联关系,只需使用关联的模型字段的名称,并使用双下划线分隔,直至你想要的字段:
**

上实战训练——更直观理解:

(得到的都是QuerySet型数据!)

from django.http import HttpResponse

from .models import Department, Student, Course, Stu_detail


def add_user(request):
    # 1.查询学院名为‘北大’的学生的信息        (注意是两个下划线,可以获取到其对应的属性)
    s_all = Student.objects.filter(department__d_name='北大')
    print(s_all)

    # 它还可以反向工作。若要引用一个“反向”的关系,只需要使用该模型的小写的名称!!!

    # 2.查询学生名字中包含'小'的学生的学院信息
    d_all = Department.objects.filter(student__s_name__contains='小')
    print(d_all)

    # 3.查询学号为1的学生的所有的课程
    c_all = Course.objects.filter(student__s_id=1)
    print(c_all)

    # 4.查询报了课程3的所有学生
    stu_all = Student.objects.filter(course__c_id=3)
    print(stu_all)

    # 5.查询报了'python'课程的学生的所属学院的信息
    cou_all = Department.objects.filter(student__course__c_name='python')
    print(cou_all)

    return HttpResponse("插入数据成功!")

❤️可以扫码关注本人公众号——任何问题都可在公众号提问(定时有专人解答);并且不定时更新干货文。欢迎关注哦!❤️

以上是关于php多表关联查询的主要内容,如果未能解决你的问题,请参考以下文章

多表关联查询语法?

sql 多表关联查询

28.多表查询——跨关联关系的多表查询

28.多表查询——跨关联关系的多表查询

oracle02--多表关联查询

如何实现多表关联查询