2013-12-12 44 views
-6

是否可以将3个表格数据导入到一个表格中,如果可以,请向我们显示代码。是否可以将3个表格数据导入到一个表格中

我有三个表,并显示所有数据在一起,我必须使用这些连接语句。

select * 
    from [runners 2000-2005] 
    join races on races.race ID = [runners 2000-2005].race ID 
    join results on results.race ID = [runners 2000-2005].race ID 
    where 1=1 

我用比赛ID因为它是所有表

在公共列所有表连接在一起,但我认为这将是更好,如果我可以导入从表结果的数据和比赛为选手2000-2005。制作一张大桌子。

thx我希望这可以帮助保姆我是一个新手。

+2

“请向我们显示代码”实际上不是这个网站的内容。您需要详细说明您目前所知道的情况,所尝试的内容以及对该主题的基本了解 – hammus

+0

绝对是的!细节是不可能给你的模糊和不清楚的问题.....请研究[如何问一个好问题?](http://stackoverflow.com/help/how-to-ask)并拥抱它! –

+0

好吧,我会提供更多的细节 – user3060111

回答

0

如上所述,它有点含糊不清,但你也是JOINING颠倒了表格,因为我看不到[runners]表格中列出的[race ID],这将意味着你有重复的跑步者和结果与跑步者无关,因为没有关系。由于您没有提供架构,因此我可能也是一种标记方式,所以我正在采用表格模式并使用我期望的东西。

也许尝试这样的事情

CREATE TABLE [runners 2000-2005] ([Runner ID] INT, [First Name] NVARCHAR(200), [Last Name] NVARCHAR(200), [Other Details] NVARCHAR(500)) 
CREATE TABLE [races] ([Race ID] INT, [Race Name] VARCHAR(200), [Race Location] VARCHAR(200)) 
CREATE TABLE [results] ([Race ID] INT, [Position] INT, [Runner ID] INT) 

SELECT 
T1.[Race ID] 
, T1.[Race Name] 
, T1.[Race Location] 

, T2.[Runner ID] 
, T2.Position 

, T3.[First Name] 
, T3.[Last Name] 
, T3.[Other Details] 

INTO [all race details 2000-2005] /*Remove this line if you just want a query*/ 
FROM races AS T1 
INNER JOIN results AS [T2] ON T2.[Race ID] = T1.[Race ID] 
INNER JOIN [runners 2000-2005] AS [T3] ON T3.[Runner ID] = T2.[Runner ID] 

SELECT * 
FROM [all race details 2000-2005] 

在使用表的别名只是缩短了查询,我也发现很容易首先从表中最常见的信息选择或坐在层次之上,这在我看来是races表。

首先是一场比赛,然后是一些完成比赛顺序,然后是比赛中参赛选手的细节。

SELECT...INTO...FROM将创建一个新鲜的表,否则你可以CREATE TABLE...INSERT INTO TABLE.. SELECT由你决定。

+0

thx很多thx我会尝试这个我希望这篇文章可以帮助别人不只是我thx – user3060111

相关问题