Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 合并表格Excel(父和子ID)_Mysql_Vba_Excel - Fatal编程技术网

Mysql 合并表格Excel(父和子ID)

Mysql 合并表格Excel(父和子ID),mysql,vba,excel,Mysql,Vba,Excel,我无法用excel合并两个表。 我有一个名为“父”的表,其中包含一个数字值,对于该ID,可以有许多具有其他值的子。我想创建第三个表,其中包含父亲的数值、儿子的名字以及他们的父亲id 我不知道如何更好地解释它,所以我创建了一个小EXCEL文件来演示。橙色的表格是我想要创建的,蓝色的是我的原始表格 我已经在VBA中创建了一个宏,但是它非常无效,我的父/子表包含数千个值,我需要一种更快的方法来创建表。所以希望有人能有一个更快的方法 提前谢谢 我假设,如果您有一个低效且耗时的VBA宏来解决此问题,您可

我无法用excel合并两个表。 我有一个名为“父”的表,其中包含一个数字值,对于该ID,可以有许多具有其他值的子。我想创建第三个表,其中包含父亲的数值、儿子的名字以及他们的父亲id

我不知道如何更好地解释它,所以我创建了一个小EXCEL文件来演示。橙色的表格是我想要创建的,蓝色的是我的原始表格

我已经在VBA中创建了一个宏,但是它非常无效,我的父/子表包含数千个值,我需要一种更快的方法来创建表。所以希望有人能有一个更快的方法


提前谢谢

我假设,如果您有一个低效且耗时的VBA宏来解决此问题,您可能正在按照以下思路进行操作:

Dim Rng1 as Range, Rng2 as Range
For X = 1 to 10000
    For Y = 1 to 10000
        If Rng1.Value = Rng2.Value then
                Do Something
        End If
    Next Y
Next X
您应该尝试通过以下方式来加快速度:

Dim Fathers as Variant, Sons as Variant
Fathers = Range("A1:A10000").Value 'Substitute for your actual range of Father IDs
Sons = Range("B1:B10000").Value 'Substitute for your actual range of Son IDs

For X = 1 to UBound(Fathers, 1)
    For Y = 1 to UBound(Sons, 1)
        If Sons(Y, 1) = Fathers(X, Y) then
                Do Something
        End If
    Next Y
Next X

看起来变化不大,但您会发现,通过定义一个值数组,然后对该数组执行操作,您将大大减少这些操作的时间。

在您的示例中,我看不到父子之间有任何关系,为什么有两个父亲具有相同的id?父表和子表是否保存在mysql数据库中?