mysql 临时表的使用

pengcheng_1024 发布于 2013/08/28 16:23
阅读 287
收藏 0


-- 这样一句sql 中

day_Chu_Ku_Cost 临时表  

day_Chu_Ku_Cost_Temp 临时表

-- 执行时显示 Unknown column 'DAYCKC.cateGoryID' in 'on clause' 错误 ,表中有这个列

SELECT distinct  
  DAYCKC.prodData, -- 时间
  DAYCKCT.prodData, -- 时间
  bc.`NAME`, -- 种类名称
  DAYCKC.cateGoryID, -- 种类id
  DAYCKC.cateGoryCost, -- 种类成本
  DAYCKC.cateGoryDayCost, -- 合计一天成本
  cc.`NAME`, -- 客户名
  DAYCKCT.id, -- 客户id
  DAYCKCT.Cost, -- 成本
  DAYCKCT.factoryDayCost 
 FROM day_Chu_Ku_Cost AS DAYCKC  , day_Chu_Ku_Cost_Temp as DAYCKCT
  left JOIN bd_category as bc ON DAYCKC.cateGoryID= bc.ID
  left join cust_customer as cc on cc.ID = DAYCKCT.id ;

---------------

我想要的数据是在这两张临时表中,但是我使用left join 依据这个两张临时表的信息,根据种类id和客户id分别查出对应的名称。为什么这样会出错??有知道给指点一下。感谢了


-- 这样改就是对的不会报字段不存在 单查询的数据不是我想要的

SELECT DISTINCT DAYCKC.prodData
              , DAYCKCT.prodData
              , bc.`NAME`
              , DAYCKC.cateGoryID
              , DAYCKC.cateGoryCost
              , DAYCKC.cateGoryDayCost
              , cc.`NAME`
              , DAYCKCT.id
              , DAYCKCT.Cost
              , DAYCKCT.factoryDayCost
FROM
  day_Chu_Ku_Cost AS DAYCKC, day_Chu_Ku_Cost_Temp AS DAYCKCT
, bd_category AS bc, cust_customer AS cc
where DAYCKC.cateGoryID= bc.ID or cc.ID = DAYCKCT.id


加载中
0
d
dbtop
--据说是MYSQL的Bug,需要这样写就没有问题
SELECT distinct  
  DAYCKC.prodData, -- 时间
  DAYCKCT.prodData, -- 时间
  bc.`NAME`, -- 种类名称
  DAYCKC.cateGoryID, -- 种类id
  DAYCKC.cateGoryCost, -- 种类成本
  DAYCKC.cateGoryDayCost, -- 合计一天成本
  cc.`NAME`, -- 客户名
  DAYCKCT.id, -- 客户id
  DAYCKCT.Cost, -- 成本
  DAYCKCT.factoryDayCost 
 FROM (day_Chu_Ku_Cost AS DAYCKC  , day_Chu_Ku_Cost_Temp as DAYCKCT )
  left JOIN bd_category as bc ON DAYCKC.cateGoryID= bc.ID
  left join cust_customer as cc on cc.ID = DAYCKCT.id ;
d
dbtop
回复 @pengcheng_1024 : day_Chu_Ku_Cost 与 day_Chu_Ku_Cost_Temp 交表没有任何条件吗?? 有的奇怪
pengcheng_1024
pengcheng_1024
这个就是报错啊
0
d
dbtop

@pengcheng_1024  : 如果day_Chu_Ku_Cost 与 day_Chu_Ku_Cost_Temp 交表就是没有任何条件的话,那么这样写试试:

SELECT distinct  
  DAYCKC.prodData, -- 时间
  DAYCKCT.prodData, -- 时间
  bc.`NAME`, -- 种类名称
  DAYCKC.cateGoryID, -- 种类id
  DAYCKC.cateGoryCost, -- 种类成本
  DAYCKC.cateGoryDayCost, -- 合计一天成本
  cc.`NAME`, -- 客户名
  DAYCKCT.id, -- 客户id
  DAYCKCT.Cost, -- 成本
  DAYCKCT.factoryDayCost 
 FROM day_Chu_Ku_Cost AS DAYCKC  
  CROSS JOIN day_Chu_Ku_Cost_Temp as DAYCKCT --笛卡尔集
  left JOIN bd_category as bc ON DAYCKC.cateGoryID= bc.ID
  left join cust_customer as cc on cc.ID = DAYCKCT.id ;

返回顶部
顶部