JBTALKS.CC

标题: [求助]FoxPro 2.6 Command 问题 (急) [打印本页]

作者: Skyline623    时间: 2009-11-13 02:27 PM
标题: [求助]FoxPro 2.6 Command 问题 (急)
我现在用着FoxPro2.6古董软件,类似SQL系统。。最近在摸这个东西,有一些不会的地方,请各位帮帮忙:

问题:

TABLE X = {A1, B1, C1, D1}
TABLE Y = {A2, B2}

重点: 1) A1=A2, B1=B2
          2) A2 ONE TO MANY A1 (就是说A1里的data很多重复,重复的也要copy进TABLE ABC)

请问要如何add Field C1, D1 和C1, D1里面的所有data 进入 TABLE Y 或新TABLE ABC?

我试过:
SELECT Y.A2, Y.B2, X.C1, X.D1 ;
FROM  Y LEFT JOIN  X;
on Y.A2 = X.A1 ;
INTO TABLE ABC.dbf



SELECT Y.A2, Y.B2, X.C1, X.D1 ;
   FROM Y, X ;
   WHERE Y.A2 = X.A1 ;   
     UNION;
SELECT Y.A2, Y.B2, X.C1, X.D1 ;
   FROM Y, X ;
   WHERE empty(X.C1);     
   INTO TABLE ABC.dbf


以上都不成功......

请问要怎么做才好?

[ 本帖最后由 Skyline623 于 2009-11-13 05:52 PM 编辑 ]
作者: Super-Tomato    时间: 2009-11-13 03:50 PM
原帖由 Skyline623 于 2009-11-13 02:27 PM 发表
我现在用着FoxPro2.6古董软件,类似SQL系统。。最近在摸这个东西,有一些不会的地方,请各位帮帮忙:

问题:

TABLE X = {A1, B1, C1, D1}
TABLE Y = {A2, B2}

重点: 1) A1=A2, B1=B2
          2) A2 ...



先确定你的 SQL 可取得資料,如

SELECT X.C1, X.D1, Y.A2, Y.B2 FROM X, Y WHERE X.A1=Y.A2

如果這樣确認正确取得資料之後才加上 INTO TABLE ABC
作者: Skyline623    时间: 2009-11-13 04:50 PM
原帖由 Super-Tomato 于 2009-11-13 03:50 PM 发表



先确定你的 SQL 可取得資料,如

SELECT X.C1, X.D1, Y.A2, Y.B2 FROM X, Y WHERE X.A1=Y.A2

如果這樣确認正确取得資料之後才加上 INTO TABLE ABC


以上的资料可以取得可是,因为如下:


    A1                     A2                  B1                    B2   
AH KOW        AH KOW             Z1                   Z1, Z2, Z3
ALI                      ALI                   Z2                   Z2, Z3, Z4
ALI                                               Z2
ALI                                               Z2
AH KOW                                     Z1
AH KOW                                     Z1

那些 X.A1=Y.A2以外的资料都没有被select到。。。。 意思就是说上图第一行和第二行的有copy到,接下来的四行都没有select到. 可是,那些资料,我也要的。。。。怎么办?
作者: Super-Tomato    时间: 2009-11-13 06:58 PM
原帖由 Skyline623 于 2009-11-13 04:50 PM 发表


以上的资料可以取得可是,因为如下:


    A1                     A2                  B1                    B2   
AH KOW        AH KOW             Z1                   Z1, Z2, Z3
ALI       ...



请明白你 X.A1 = Y.A2 的意思
作者: Skyline623    时间: 2009-11-14 01:56 PM
原帖由 Super-Tomato 于 2009-11-13 06:58 PM 发表



请明白你 X.A1 = Y.A2 的意思


X.A1 = Y.A2

read my command for references or zip...
作者: Super-Tomato    时间: 2009-11-14 02:55 PM
原帖由 Skyline623 于 2009-11-14 01:56 PM 发表


X.A1 = Y.A2

read my command for references or zip...



那建议你到 http://www.w3schools.com/sql 看看教程說明
作者: Skyline623    时间: 2009-11-14 09:05 PM
原帖由 Super-Tomato 于 2009-11-14 02:55 PM 发表



那建议你到 http://www.w3schools.com/sql 看看教程說明


去w3school还要你教吗? =.= 大汗。。。

FOXPRO 2.6 please... 不是一般command可以跑的。。要不是left join和UNION都不支持,我会那么烦恼?

拜托。。。。
作者: 毛毛小子    时间: 2009-11-14 09:32 PM
标题: 回复 #7 Skyline623 的帖子
首先,得空时可以看这个
http://www.jbtalks.cc/thread-644362-1-1.html

然后,w3school 只是给你一个概念,让你知道如何运行+行程,不是直接给你答案,写任何程序都需要经过思考,试问你,你每次吃饭时候,有没有思考过,什么东西能吃,什么东西不能吃?还是没有思考,什么东西都拿来吃?

既然你不需要人家来教,那为什么还来这里问?要答案?要人家帮你弄?

Super-Tomato 写coding可能还比你玩电脑还久,呵呵(不好意思,我看到他写这番话,我有点吃不消)

有没有想过?Programmer,analyst 每天都很忙,有时连睡觉时间都牺牲了,谁还那么得空帮你看那些Coding?


既然你那么厉害,你都写了  "   FOXPRO 2.6 please... 不是一般command可以跑的。。要不是left join和UNION都不支持,我会那么烦恼?

拜托。。。。   "


玩过Linux 吗?Ubuntu ?Xubuntu ? Kubuntu ?这些都需要用Command 来执行的OS<



PS:    呵呵....我最近看到很多这种类似的帖,Gek 住很久了,今天忍不住爆发
          请原谅,我想发泄

[ 本帖最后由 毛毛小子 于 2009-11-14 09:39 PM 编辑 ]
作者: Super-Tomato    时间: 2009-11-14 09:48 PM
原帖由 Skyline623 于 2009-11-14 09:05 PM 发表


去w3school还要你教吗? =.= 大汗。。。

FOXPRO 2.6 please... 不是一般command可以跑的。。要不是left join和UNION都不支持,我会那么烦恼?

拜托。。。。



甚麼叫不支持, 而是你根本就不知道這些指令的用意, 只是這抄一點拿看一點自然連最基本的資料庫欄位該怎麼設計都不明白....

之前的帖子你說別叫你 google, 你找不到才來發帖, 現在別人給你網址而你卻說自己看的話還要別人教?? 那這樣的意思不就如你吃飯叫你媽也順便喂你的道理一樣??


上面提到的是要你自己改變學習態度, 至於改於不改在於你自己, 之後的就希望有人會儘快且直接給你答案吧...
作者: Skyline623    时间: 2009-11-15 12:34 AM
原帖由 Super-Tomato 于 2009-11-14 09:48 PM 发表



甚麼叫不支持, 而是你根本就不知道這些指令的用意, 只是這抄一點拿看一點自然連最基本的資料庫欄位該怎麼設計都不明白....

之前的帖子你說別叫你 google, 你找不到才來發帖, 現在別人給你網址而你卻說 ...



没看完你在写什么,更没有看上面那个人写的东西,那么长。。

说没有用,有什么表演出来看,不然会让人觉得你只会说不会做,不要一脸高高在上的样子。。大家都是打工仔。。
作者: Super-Tomato    时间: 2009-11-15 12:40 AM
原帖由 Skyline623 于 2009-11-15 12:34 AM 发表



没看完你在写什么,更没有看上面那个人写的东西,那么长。。

说没有用,有什么表演出来看,不然会让人觉得你只会说不会做,不要一脸高高在上的样子。。大家都是打工仔。。



抱歉, 激將法對我沒用, 我們大家都是不同的打工仔, 大家慢慢沉溺在自己的工作吧
作者: choya    时间: 2009-11-29 03:15 AM
TABLE X = {A1, B1, C1, D1}
TABLE Y = {A2, B2}

重点: 1) A1=A2, B1=B2
          2) A2 ONE TO MANY A1 (就是说A1里的data很多重复,重复的也要copy进TABLE ABC)

ANSWER :
SELECT * FROM X LEFT JOIN Y ON X.A1=Y.A2 INTO CURSOR ABC

这样A2会重复在A1的料后方也一样会重复, 如果不是你要的排法请把 * 改成你要的field 就行了。

你试过:
SELECT Y.A2, Y.B2, X.C1, X.D1 ;
FROM  Y LEFT JOIN  X;
on Y.A2 = X.A1 ;
INTO TABLE ABC.dbf
(可能是X 要 left join 于 Y 导致你不能拿到重复质料 )

[ 本帖最后由 choya 于 2009-11-29 03:22 AM 编辑 ]
作者: goodday    时间: 2009-11-29 04:22 AM
原帖由 Skyline623 于 2009-11-15 12:34 AM 发表



没看完你在写什么,更没有看上面那个人写的东西,那么长。。

说没有用,有什么表演出来看,不然会让人觉得你只会说不会做,不要一脸高高在上的样子。。大家都是打工仔。。


请教人请谦虚一点,番茄是这边的 first man
他这边的地位是大家肯定的

他在这边的贡献私人时间帮人看code
义务

left join 为什么不能?

如果不能 那为什么不用 sub table 来达到方式

left join , outter join 都是已 subtable 的搬运式

两个join 也能达到 left join 吧

你只是读 command

你有想过 database 是以什么的原理完成吗
作者: fyhao    时间: 2009-11-29 12:37 PM
汗,我目前对 database 的认知还停留在 interface 程度(command),还没到 implementation。。。
作者: goodday    时间: 2009-11-29 06:19 PM
原帖由 fyhao 于 2009-11-29 12:37 PM 发表
汗,我目前对 database 的认知还停留在 interface 程度(command),还没到 implementation。。。


database 要的程度不止是 query 还有很多的学问
如:
(ACID)
原子性(Atomicity)
一致性(Consistency)
隔离性(Isolation)
持久性(Durability)

load balancing
failover
query analysis
R/W Splitting


Aggregation,Grids, partitions, and shards

shard 又分
horizone 和 vertical

还有一大堆 prostageSQL, oracle(PL-SQL) 和 mysql, mssql (T-SQL)
不同门派的 跑法
就近很红的 dyno Grid ,Routing Mesh

design 到 hardware 到 Memory Cache 到 overload 到 cluster

em0004

这边给个下马威你们看

(代我的一个朋友说出心声)
老板 厉害的 DBA 是很贵 又很难找到的 !!!
不要亏待 神话中的人材 !!!
管database 不容易的!!!
作者: 我是大猪头    时间: 2009-11-29 06:59 PM
原帖由 goodday 于 2009-11-29 06:19 PM 发表


database 要的程度不止是 query 还有很多的学问
如:
(ACID)
原子性(Atomicity)
一致性(Consistency)
隔离性(Isolation)
持久性(Durability)

load balancing
failover
query analysis
...


-.-
你这样一说,我突然发现到我对database的认知仅仅在click and click。。。
然后用query statement insert update and delect only -.-
老实说我连怎样join table都不会
作者: goodday    时间: 2009-11-29 07:13 PM
join table 我可以說 吃生菜咯
LINQ 的 left join, outer join 我都运用自如

你用 entity framework 的 你不用担心那个咯
那个 edml 能帮你做完

但你还是不会basic 的ADO.net 的正统

昨天我才给 宅男 我用惯的 ado.net helpper
他看到那种的懒惰的方法后
才觉得 世界 是那么多奇怪的 factory pattern 的存在
书教得和 真正下手写的 是不同的

java 仔给我骗过来.net 啦


作者: fyhao    时间: 2009-11-30 12:20 AM
多谢,受教了,ACID 碰过了,其他的继续跟进。。。

那么以下的做到很仔细的 到 cluster... 都是工作的时候的经验累积吧???

因为看来 degree 没办法学到这些。。。

[ 本帖最后由 fyhao 于 2009-11-30 12:21 AM 编辑 ]
作者: 我是大猪头    时间: 2009-11-30 01:19 AM
原帖由 goodday 于 2009-11-29 07:13 PM 发表
join table 我可以說 吃生菜咯
LINQ 的 left join, outer join 我都运用自如

你用 entity framework 的 你不用担心那个咯
那个 edml 能帮你做完

但你还是不会basic 的ADO.net 的正统

昨天我才给 宅男 ...


他是php仔
没办法,还是从基础学起比较好。。
有时候连一些很基本的problem都不会solve
真是丢脸
作者: 宅男-兜着走    时间: 2009-11-30 02:11 AM
标题: 回复 #19 我是大猪头 的帖子
说到这个 == 我第一个 program 的是 action script 吧
不过我们的第一次可以说是献给java 了。  ( HTML 不要算)
作者: fyhao    时间: 2009-11-30 05:38 PM
我也是野。。。第一个 programming 是 actionscript,因为当时还小,对蝴蝶可以绕着路径飞而吸引进去 Flash。。。就去学了。。。
作者: SunQuan    时间: 2010-4-21 11:58 PM
用copy stru.

use abc.dbf
copy stru to YY.dbf




欢迎光临 JBTALKS.CC (https://www.jbtalks.cc/) Powered by Discuz! X2.5