多表删除问题
一辆想出轨的无轨电车
一辆想出轨的无轨电车 2016-12-21 18:01:39
0
2
897

输入命令: SELECT a.goods_id,a.goods_name FROM tdb_goods AS a LEFT JOIN (SELECT goods_id,goods_name FROM tdb_goods GROUP BY goods_name HAVING COUNT(goods_name)>1) AS b  ON a.goods_name = b.goods_name ;

显示的是tdb_goods 的所有选项

但是在后面加上WHERE a.goods_id > b.goods_id,就只显示两条结果

 命令:SELECT a.goods_id,a.goods_name FROM tdb_goods AS a LEFT JOIN (SELECT goods_id,goods_name FROM tdb_goods GROUP BY goods_name HAVING COUNT(goods_name)>1) AS b  ON a.goods_name = b.goods_name WHERE a.goods_id > b.goods_id;

结果:

+----------+-------------------------+

| goods_id | goods_name              |

+----------+-------------------------+

|       26 |  HMZ-T3W 头戴显示设备

|       27 | 玄龙精英版 笔记本散热器

+----------+-------------------------+

2 rows in set (0.00 sec)

前后只是差了一个条件,如果把LEFT JION 改成RIGHT JION 或者 INNER JION 我都可以理解,就是LEFT JION 不明白,求各位大神指点迷津。


一辆想出轨的无轨电车
一辆想出轨的无轨电车

reply all(2)
数据分析师

Multiple table deletion problem-PHP Chinese website Q&A-Multiple table deletion problem-PHP Chinese website Q&A

Look around and learn.

巴扎黑

因为where相当于对链接后的呈现的表再进行了一步操作:条件就是只展示a.goods_id>b.goods_id。根据子查询生成的b表本身只有两条数据(这两条数据本身就是tdb_goods中的重复数据,a中一定也存在而且一共为4条),其中符合进一步筛选条件的只有两条。

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template