Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

聯集查詢之錯誤

汪武龍  发表于:2009-05-31 15:37:02  
复制

錯誤見以下,誰幫忙看看錯在什麼地方?

 

Top
汪武龍 发表于:2009-05-31 15:41:55

上面的SQL語句錯了,應該是這句,還是不行!

 

select 發料日期,供應商,生產單號, [發料重量(KG)], 0 as [返鍍重量(KG)],0 AS 收料重量 from 收發發料
UNION ALL SELECT 收料日期,供應商,生產單號,0 AS [發料重量(KG)],0 AS [返鍍重量(KG)],收料重量 FROM 收發收料
UNION ALL select 返鍍日期,供應商,生產單號,0 as [發料重量(KG)],[返鍍重量(KG)],0 as 收料重量 FROM 收發返鍍;



豆豆 发表于:2009-05-31 22:13:10

请测试下单独这3句是否正常。

select 發料日期,供應商,生產單號, [發料重量(KG)], 0 as [返鍍重量(KG)],0 AS 收料重量 from 收發發料;

 

SELECT 收料日期,供應商,生產單號,0 AS [發料重量(KG)],0 AS [返鍍重量(KG)],收料重量 FROM 收發收料;

 

select 返鍍日期,供應商,生產單號,0 as [發料重量(KG)],[返鍍重量(KG)],0 as 收料重量 FROM 收發返鍍;



汪武龍 发表于:2009-06-01 08:02:56

正常沒問題,任何兩句都可以,但是三句一起時就不行.

而且第三句的收料重量或返鍍重量調一個位置也可以,只不過數據錯誤.實際顯示將返鍍重量在收料重量一欄中顯示.即返鍍重量為0

 

急求幫忙~~~



豆豆 发表于:2009-06-01 11:48:14

能否上传附件。

 



汪武龍 发表于:2009-06-01 14:08:10

先感謝chaojianan~~

事情有了變化,當我試著將SQL SERVER資料轉為ACCESS資料準備傳附件時,發現在ACCESS資料表中可以執行,但ODBC連接之SQL SERVER還是無法執行~~~

有沒有哪位大俠幫忙確認下問題如何解決?

 

 

 

 

我採用了以下方法,但是還是不能解決:



汪武龍 发表于:2009-06-04 14:20:48

誰能解釋是為什麼嗎?如何解決?



汪武龍 发表于:2009-06-05 08:09:33

帖子又沉下去了,哪位大師了解是什麼原因?



汪武龍 发表于:2009-06-16 16:14:21

高手們這個問題到底是為什麼?



汪武龍 发表于:2009-11-13 11:48:52
還是沒有人能解答!

andymark 发表于:2009-11-13 15:00:42

 晕死,人家不是叫你上传示例吗

 

 

 查看数据类型是否不一至

 

 

 



汪武龍 发表于:2009-11-13 16:26:17
對不起,示例不便提供,數據類型是一致.

andymark 发表于:2009-11-13 16:38:43

你直接在SQL服务器里建立视图,能不能正常



andymark 发表于:2009-11-13 16:42:46

你这个贴都N久啦,

 

表的结构是怎样的, 别人不知道, 连一些基本的数据都没有

 

 

别人也是爱莫能助

 

 

 



点燃一支烟 发表于:2009-11-13 22:24:30

select 發料日期,供應商,生產單號, 發料重量(KG), 0 as 返鍍重量(KG),0 AS 收料重量 from 收發發料
UNION ALL SELECT 收料日期,供應商,生產單號,0 AS 發料重量(KG),0 AS 返鍍重量(KG),收料重量 FROM 收發收料
UNION ALL select 返鍍日期,供應商,生產單號,0 as 發料重量(KG),返鍍重量(KG),0 as 收料重量 FROM 收發返鍍;

 

说明:1、sql语句中去掉[],同时把半角的()改为全角的();

      2、在你对应的表的设计里面把相应的字段名改一下,即将半角的()改为全角的();

再试试。



点燃一支烟 发表于:2009-11-13 22:31:37
总之字段名不要取成带半角括号的形式

aslxt 发表于:2009-11-22 15:35:13

我也曾经遇到过这个问题,应该是把表从本地表该为链接MSSQL表后导致的,我是这样解决的:

 

select 發料日期,供應商,生產單號, [發料重量(KG)], 0 as [返鍍重量(KG)],0 AS 收料重量 from 收發發料
UNION select * from (SELECT 收料日期,供應商,生產單號,0 AS [發料重量(KG)],0 AS [返鍍重量(KG)],收料重量 FROM 收發收料
UNION ALL select 返鍍日期,供應商,生產單號,0 as [發料重量(KG)],[返鍍重量(KG)],0 as 收料重量 FROM 收發返鍍
) AS BB

 

也就是说,同一个查询(不含子查询)只能使用一个UNION,如果要联合的数据源表超过2个,则应使用子查询嵌套,代码中红色的部分。

至于还有没有其他方法,请高手赐教。



总记录:16篇  页次:1/1 9 1 :