mysql从一个表中指定的id获取另一个表的内容

比如两个表

一个为 fnelei 一个为chanpin

fenlei的字段 id name

2条记录 分别为

               1  分类1

               2  分类2

chanpin的字段为 id  name fenleiid

3条记录 分别为

                         1  产品名称  1

                         2  产品名称2  1

                        3  产品名称3   2

在这里 要使用一条语句调用出 chanpn的 信息,但是fenleiid显示的是数字,要让它把对应id的名称显示出来,就用到了如下语句

SELECT
* FROM
chanpin
LEFT JOIN fenlei ON chanpin.fenleiid = fenlei.id

其次 外面还可以将表简化 把chanpin简化为a  fenlei简化为b 语句如下

SELECT
* FROM
chanpin a
LEFT JOIN fenlei b ON a.fenleiid = b.id

输出的结果和上面是一样的

SELECT
a.id,-- 这里标识要读取的字段
a.NAME,#这里表示要读取的字段
b.NAME,
c.NAME,
d.NAME, 
a.shuliang, 
        e.name 
FROM
ccerp_shop a#主要查询的表
LEFT JOIN ccerp_cangku b ON a.ckid = b.id  #对应的表  查询表的字段=对应表的字段
LEFT JOIN ccerp_cangwei c ON a.cwid = c.id
LEFT JOIN ccerp_pinpai d ON a.ppid = d.id 
        LEFT JOIN ccerp_ckfenlei e ON a.flid = e.id
WHERE b.id=1  
 ORDER BY
a.id asc 
LIMIT 0,#开始条数
50

只显示需要的字段

SELECT
a.id,-- 这里标识要读取的字段
a.NAME,#这里表示要读取的字段
b.NAME,
c.NAME,
d.NAME,
a.shuliang,
e.name
FROM
ccerp_shop a#主要查询的表
LEFT JOIN ccerp_cangku b ON a.ckid = b.id #对应的表 查询表的字段=对应表的字段
LEFT JOIN ccerp_cangwei c ON a.cwid = c.id
LEFT JOIN ccerp_pinpai d ON a.ppid = d.id
LEFT JOIN ccerp_ckfenlei e ON a.flid = e.id
WHERE b.id=1
ORDER BY
a.id asc
LIMIT 0,#开始条数
50


白俊遥博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论