佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1311|回复: 2

如何从其他table得到的资料,填写回去现在的table?

[复制链接]
发表于 2-12-2008 09:03 PM | 显示全部楼层
  1. Update TempCountry
  2. Set AppleGuid = (Select Guid From TempFruits Where ID = (Select Apple From TempFromExcel Where Country = TempCountry.Country)),
  3.         OrangeGuid = (Select Guid From TempFruits Where ID = (Select Orange From TempFromExcel Where Country = TempCountry.Country)),
  4.         PapayaGuid = (Select Guid From TempFruits Where ID = (SelXXXXXya From TempFromExcel Where Country = TempCountry.Country)),
  5. Where Country In (Select Country From TempFromExcel)
复制代码
没有式过不只能不能用

可能还有更好的办法可是我只能想到这样而已。
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 2-12-2008 03:36 PM | 显示全部楼层 |阅读模式
  1. CREATE TABLE #TempFruits
  2. (
  3.        
  4.         [Guid] [uniqueidentifier] NULL,
  5.         [ID] [varchar](512) NULL,
  6.         [Desc] [varchar](512) NULL
  7. )

  8. INSERT INTO #TempFruits([Guid], [ID], [Desc]) VALUES('d001368b-46af-475a-83c3-c8ef40a7de2b', 'USAA', 'UsApple');
  9. INSERT INTO #TempFruits([Guid], [ID], [Desc]) VALUES('35d16568-7ece-4855-a720-19cc96778dc3', 'AFCO', 'AfricaOrange');
  10. INSERT INTO #TempFruits([Guid], [ID], [Desc]) VALUES('0107732a-7438-4f55-a76c-7cadccb47f59', 'THAP', 'ThaiPapaya');

  11. SELECT * FROM #TempFruits

  12. DROP TABLE #TempFruits

  13. ---------------------------------------------------------------------------------------------------

  14. CREATE TABLE #TempCountry
  15. (
  16.         [Country] [varchar](512) NULL,       
  17.         [AppleGuid] [uniqueidentifier] NULL,
  18.         [OrangeGuid] [uniqueidentifier] NULL,
  19.         [PapayaGuid] [uniqueidentifier] NULL
  20. )

  21. INSERT INTO #TempCountry([Country], [AppleGuid], [OrangeGuid], [PapayaGuid]) VALUES('USA', null, null, null);
  22. INSERT INTO #TempCountry([Country], [AppleGuid], [OrangeGuid], [PapayaGuid]) VALUES('AFRICA', null, null, null);
  23. INSERT INTO #TempCountry([Country], [AppleGuid], [OrangeGuid], [PapayaGuid]) VALUES('THAI', null, null,null);

  24. SELECT * FROM #TempCountry

  25. DROP TABLE #TempCountry

  26. ---------------------------------------------------------------------------------------------------

  27. CREATE TABLE #TempFromExcel
  28. (
  29.         [Country] [varchar](512) NULL,       
  30.         [Apple] [varchar](512) NULL,
  31.         [Orange] [varchar](512) NULL,
  32.         [Papaya] [varchar](512) NULL,
  33. )

  34. INSERT INTO #TempFromExcel([Country], [Apple], [Orange], [Papaya]) VALUES('USA', 'USAA', null, null);
  35. INSERT INTO #TempFromExcel([Country], [Apple], [Orange], [Papaya]) VALUES('AFRICA', null, 'AFCO', null);
  36. INSERT INTO #TempFromExcel([Country], [Apple], [Orange], [Papaya]) VALUES('THAI', null, null, 'THAP');

  37. SELECT * FROM #TempFromExcel

  38. DROP TABLE #TempFromExcel
复制代码


#TempFruits 和 #TempCountry
这两个是我现在有的table

#TempFromExcel
是我Import资料,来自EXCEL档案

问题来了,现在我有来自EXCEL档案的资料
我该如何从#TempFromExcel join 去 #TempFruits,找出Guid之后
再Update #TempCountry 这个 table呢?

如果做for loop?
一行接一行update
回复

使用道具 举报

 楼主| 发表于 3-12-2008 10:27 PM | 显示全部楼层
原帖由 hcong85 于 2-12-2008 09:03 PM 发表
Update TempCountry
Set AppleGuid = (Select Guid From TempFruits Where ID = (Select Apple From TempFromExcel Where Country = TempCountry.Country)),
        OrangeGuid = (Select Guid From TempFruits Where ID ...


謝謝你
但是我又有問題了,在下面

CREATE TABLE #TempFruits
(
      
        [Guid] [uniqueidentifier] NULL,
        [ID] [varchar](512) NULL,
        [Desc] [varchar](512) NULL
)

INSERT INTO #TempFruits([Guid], [ID], [Desc]) VALUES('d001368b-46af-475a-83c3-c8ef40a7de2b', 'USAA', 'UsApple');
INSERT INTO #TempFruits([Guid], [ID], [Desc]) VALUES('35d16568-7ece-4855-a720-19cc96778dc3', 'AFCO', 'AfricaOrange');
INSERT INTO #TempFruits([Guid], [ID], [Desc]) VALUES('0107732a-7438-4f55-a76c-7cadccb47f59', 'THAP', 'ThaiPapaya');

SELECT * FROM #TempFruits



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

CREATE TABLE #TempCountry
(
        [Country] [varchar](512) NULL,      
        [AppleGuid] [uniqueidentifier] NULL,
        [OrangeGuid] [uniqueidentifier] NULL,
        [PapayaGuid] [uniqueidentifier] NULL
)

INSERT INTO #TempCountry([Country], [AppleGuid], [OrangeGuid], [PapayaGuid]) VALUES('USA', null, null, null);
INSERT INTO #TempCountry([Country], [AppleGuid], [OrangeGuid], [PapayaGuid]) VALUES('AFRICA', null, null, null);
INSERT INTO #TempCountry([Country], [AppleGuid], [OrangeGuid], [PapayaGuid]) VALUES('THAI', null, null,null);

SELECT * FROM #TempCountry


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

CREATE TABLE #TempFromExcel
(
        [Country] [varchar](512) NULL,      
        [Apple] [varchar](512) NULL,
        [Orange] [varchar](512) NULL,
        [Papaya] [varchar](512) NULL,
)

INSERT INTO #TempFromExcel([Country], [Apple], [Orange], [Papaya]) VALUES('USA', 'USAA', null, null);
INSERT INTO #TempFromExcel([Country], [Apple], [Orange], [Papaya]) VALUES('AFRICA', null, 'AFCO', null);
INSERT INTO #TempFromExcel([Country], [Apple], [Orange], [Papaya]) VALUES('THAI', null, 'AFCO', 'THAP');

SELECT * FROM #TempFromExcel

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

Select DISTINCT * From (
SELECT E.Country,
            CASE    WHEN F.ID = E.Apple THEN F.Guid END AS AppleGuid,
            CASE WHEN F.ID = E.Orange THEN F.Guid END OrangeGuid,
            CASE WHEN F.ID = E.Papaya THEN F.Guid END AS  PapayaGuid
FROM #TempFruits F INNER JOIN #TempFromExcel E
ON (F.ID = E.Orange OR F.ID = E.Apple OR F.ID = E.Papaya)
) A
Group By Country, AppleGuid, OrangeGuid, PapayaGuid

DROP TABLE #TempFruits
DROP TABLE #TempCountry
DROP TABLE #TempFromExcel


谁能帮我看看呢?
execute上面的SQL
出现了两个THAI,我要GROUP它们成一笔
如何呢?
出来的答案是
THAI只有一笔,guid自动和拼
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 22-12-2025 01:30 AM , Processed in 0.132535 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表