Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.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
C#T-SQL连接和并集_C#_Sql_Join_Union All - Fatal编程技术网

C#T-SQL连接和并集

C#T-SQL连接和并集,c#,sql,join,union-all,C#,Sql,Join,Union All,我有一个关于连接表的问题 我有十一张桌子,一个家长有十个子桌子所有的主键都是EventName,父对象与子对象之间的关系也是EventName。子表名称为SR1Laptimes、SR2Laptimes等x 10 子表中的架构相同。我正在尝试将Events表连接到SR1Laptimes,然后将所有子表合并在一起,但无法使其工作 这种疯狂背后有一种方法,但需要一些时间来解释。这里的代码无论如何,任何反馈将不胜感激。P.S此副本中未完成的代码并粘贴 myCommand.CommandText = "S

我有一个关于连接表的问题

我有十一张桌子,一个家长有十个子桌子所有的主键都是EventName,父对象与子对象之间的关系也是EventName。子表名称为SR1Laptimes、SR2Laptimes等x 10

子表中的架构相同。我正在尝试将Events表连接到SR1Laptimes,然后将所有子表合并在一起,但无法使其工作

这种疯狂背后有一种方法,但需要一些时间来解释。这里的代码无论如何,任何反馈将不胜感激。P.S此副本中未完成的代码并粘贴

myCommand.CommandText = "SELECT MIN(Q1), MIN(Q2), MIN(Q3), MIN(Q4), MIN(LaptimesMinutes), MIN(LaptimesSeconds) FROM Events LEFT JOIN SR1Laptimes ON Events.EventName = SR1Laptimes.EventName SELECT * FROM SR1Laptimes UNION ALL SELECT * FROM SR2Laptimes UNION ALL SELECT * FROM SR3Laptimes WHERE (Events.Track = @track) AND (Events.Number = @number) AND (Events.Rider = @rider)";
myCommand.Parameters.AddWithValue("@track", analysisTrackComboBox.Text);
myCommand.Parameters.AddWithValue("@number", analysisNumberComboBox.Text);
myCommand.Parameters.AddWithValue("@rider", analysisRiderComboBox.Text);

我认为您在以下位置缺少了一个
UNION ALL
条款:

 ... ON Events.EventName = SR1Laptimes.EventName *HERE* SELECT * FROM SR1Laptimes ...

我认为您在以下位置缺少了一个
UNION ALL
条款:

 ... ON Events.EventName = SR1Laptimes.EventName *HERE* SELECT * FROM SR1Laptimes ...

您尝试“联合所有”的表是否具有相同的列?这可能就是问题所在


最后的where子句只对SR3Laptimes有效。

您尝试“联合所有”的表是否具有相同的列?这可能就是问题所在


结尾的“where”子句仅对SR3Laptimes有效。

此示例可能对您有所帮助

DECLARE @Parent TABLE (id INT,sth NVARCHAR(100))

DECLARE @ChildTest1 TABLE(id INT,parentId INT, sth NVARCHAR(100))

DECLARE @ChildTest2 TABLE(id INT, parentId INT, sth NVARCHAR(100))

INSERT INTO @Parent
SELECT 1,'Ali'
UNION ALL
SELECT 2,'Veli'
UNION ALL
SELECT 3,'Ahmet'


INSERT INTO @ChildTest1
SELECT 1,1,'Parent1_Child1_1strow'
UNION ALL
SELECT 2,1,'Parent1_Child1_2ndrow'
UNION ALL
SELECT 3,2,'Parent2_Child1_1strow'


INSERT INTO @ChildTest2
SELECT 1,1,'Parent1_Child2_1strow'
UNION ALL
SELECT 2,2,'Parent2_Child2_1strow'
UNION ALL
SELECT 3,3,'Parent3_Child2_1strow'

SELECT * FROM @Parent p
LEFT JOIN (
    SELECT * FROM @ChildTest1 ct1

    UNION ALL

    SELECT * FROM @ChildTest2 ct2
) s ON p.id =s.parentId
--WHERE p.id = 3

这个例子可能会对你有所帮助

DECLARE @Parent TABLE (id INT,sth NVARCHAR(100))

DECLARE @ChildTest1 TABLE(id INT,parentId INT, sth NVARCHAR(100))

DECLARE @ChildTest2 TABLE(id INT, parentId INT, sth NVARCHAR(100))

INSERT INTO @Parent
SELECT 1,'Ali'
UNION ALL
SELECT 2,'Veli'
UNION ALL
SELECT 3,'Ahmet'


INSERT INTO @ChildTest1
SELECT 1,1,'Parent1_Child1_1strow'
UNION ALL
SELECT 2,1,'Parent1_Child1_2ndrow'
UNION ALL
SELECT 3,2,'Parent2_Child1_1strow'


INSERT INTO @ChildTest2
SELECT 1,1,'Parent1_Child2_1strow'
UNION ALL
SELECT 2,2,'Parent2_Child2_1strow'
UNION ALL
SELECT 3,3,'Parent3_Child2_1strow'

SELECT * FROM @Parent p
LEFT JOIN (
    SELECT * FROM @ChildTest1 ct1

    UNION ALL

    SELECT * FROM @ChildTest2 ct2
) s ON p.id =s.parentId
--WHERE p.id = 3

我确实有它,但仍然没有Joy我确实有它,但仍然没有Joy子表在列、数据类型和列数方面是相同的。我尝试使用括号将联接和并集放在各种结构中,但没有帮助(关于where子句)子表在列中是相同的,数据类型和列数。我尝试使用括号将联接和并集放在各种结构中,但没有帮助(关于where子句)