安云网 - AnYun.ORG | 专注于网络信息收集、网络数据分享、网络安全研究、网络各种猎奇八卦。
当前位置: 安云网 > 技术关注 > DataBase > Mysql > mysql多表联合查询

mysql多表联合查询

时间:2014-10-20来源:未知 作者:安云网点击:
mysql多表联合查询
今天遇到一个问题:

假设现在有3张表
第一张是订单信息基本表(order_info):我要获取他的order_id,order_address,order_username,order_status字段;

第2张表是订单商品表(order_goods):订单商品表和订单信息基本表(order_info)中的order_id的值是一样的;

第3张表是商品表(goods):商品表和订单商品表(order_goods)中的goods_id是相同的, 我要获取他的goods_img字段;

现在我要得到第一张表中的order_id,order_address,order_username,order_status字段和第3张表中的goods_img字段的内容而且写成一条mysql语句请问如何实现? 
//本文来自安云网
select a.order_id,a.order_address,a.order_username,a.order_status,c.goods_img from order_info as a inner join order_goods b on a.order_id=b.order_id inner join goods c
on b.goods_id=c.goods_id //安云网咨询系统 


//内容来自AnYun.ORG


//安云网,anyun.org


//本文来自安云网

MySQL多表联合查询是MySQL数据库的一种查询方式,下面就为您介绍MySQL多表联合查询的语法,供您参考学习之用。
MySQL多表联合查询语法:
SELECT   *    FROM   插入表   LEFT JOIN   主表   ON   t1.lvid=t2.lv_id   select * from mytable,title where 表名1.name=表名2.writer ;   
1、mysql版本大于4.0,使用UNION进行查询,示例如下:
SELECT `id`, `name`, `date`, ‘’ AS `type` FROM table_A WHERE 条件语句……  UNION  SELECT `id`, `name`, `date`, ‘未完成’ AS `type` FROM table_B WHERE 条件语句……  ORDER BY `id` LIMIT num;   
2、mysql版本小于4.0,需要建立临时表,分为三步,示例如下:
第一步:建立临时表tmp_table_name并插入table_A中的相关记录
$sql = “CREATE TEMPORARY TABLE tmp_table_name SELECT `id`, `name`, `date`, ‘完成’ AS `type` FROM table_A WHERE 条件语句……”;  mysql_query($sql) OR die(”query false!”);  
第二步:从table_B中取得相关记录插入临时表tmp_table_name中
mysql_query(”INSERT INTO tmp_table_name SELECT `id`, `name`, `date2` AS `date`, ‘未完成’ AS `type` FROM table_B WHERE 条件语句……”) OR die(”query false!”);  
第三步:从临时表tmp_table_name中取出记录
mysql_query(”SELECT * FROM tmp_table_name ORDER BY id DESC”) or die (”query false!”); 

//ANYUN.ORG

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片
相关内容
推荐内容