C# 从多个表连接mysql 4.0数据的最快方法?

C# 从多个表连接mysql 4.0数据的最快方法?,c#,.net,mysql,datatable,mysql4,C#,.net,Mysql,Datatable,Mysql4,我有3个mysql 4.0表:所有表都有字段ID(int)、type(int)和另一个字段value,它是varchar(255)、tinyint或int 我需要把它们全部写出来,最后得到三个数据表,在它们上面循环,并将行创建到一个临时表中(在.NET1.1中) 您是否看到了比此更快/更干净的方式来连接或仅写出此数据?我不确定您是否希望在一个查询中实际连接或显示所有三个表的结果 如果你只是想获得完美的结果,那么最好的做法是建立一个联盟,例如: SELECT ID, Type,

我有3个mysql 4.0表:所有表都有字段ID(int)、type(int)和另一个字段value,它是varchar(255)、tinyint或int

我需要把它们全部写出来,最后得到三个数据表,在它们上面循环,并将行创建到一个临时表中(在.NET1.1中)


您是否看到了比此更快/更干净的方式来连接或仅写出此数据?

我不确定您是否希望在一个查询中实际连接或显示所有三个表的结果

如果你只是想获得完美的结果,那么最好的做法是建立一个联盟,例如:

SELECT 
    ID, 
    Type, 
    Convert(varchar(255), Value) as Value 
FROM 
    table1
UNION
SELECT 
    ID, 
    Type, 
    Convert(varchar(255), Value) as Value 
FROM 
    table2
UNION
SELECT 
    ID, 
    Type, 
    Convert(varchar(255), Value) as Value 
FROM 
    table3

注意:我正在进行转换,以便您可以获得所有三个字段的最稳定形式(varchar版本)。

我不确定您是否希望在一个查询中实际连接或显示所有三个表的结果

如果你只是想获得完美的结果,那么最好的做法是建立一个联盟,例如:

SELECT 
    ID, 
    Type, 
    Convert(varchar(255), Value) as Value 
FROM 
    table1
UNION
SELECT 
    ID, 
    Type, 
    Convert(varchar(255), Value) as Value 
FROM 
    table2
UNION
SELECT 
    ID, 
    Type, 
    Convert(varchar(255), Value) as Value 
FROM 
    table3

注意:我正在进行转换,以便您可以获得所有三个字段的最稳定形式(varchar版本)。

谢谢,事实上,即使不进行转换,它也能工作,但我担心的是,这样得到的不是420个结果,而是410个结果——也许有些结果是重复的并被合并了?@Spikolynn:可能是一个隐式转换正在你的整数和微小整数中发生(或者你的varchar正试图转换成整数)当转换失败时,它将从结果集中删除。TheTXI:我三次都尝试使用Convert(Value,char)而不是Value,但仍然没有显示足够的结果。不过我不太介意,因为如果它们像我想象的那样只是重复的话,应用程序应该可以正常工作。是的,我今天检查了重复的,它们的数量和丢失的记录数一样多。也许我应该在三个字段soh上添加一个唯一的约束,我必须使用convert,因为否则我会得到一个关于不兼容列类型的.NET异常:SThanks,实际上它即使不转换也能工作,但我担心的是,这样得到的不是420个结果,而是410个结果——也许有些结果是重复的并被合并了?@Spikolynn:可能是一个隐式转换正在你的整数和微小整数中发生(或者你的varchar正试图转换成整数)当转换失败时,它将从结果集中删除。TheTXI:我三次都尝试使用Convert(Value,char)而不是Value,但仍然没有显示足够的结果。不过我不太介意,因为如果它们像我想象的那样只是重复的话,应用程序应该可以正常工作。是的,我今天检查了重复的,它们的数量和丢失的记录数一样多。也许我应该在三个字段soh上添加一个唯一的约束,并且我必须使用convert,因为否则我会得到一个关于不兼容列类型的.NET异常:S