如何连接一个表中的所有列

时间:2009-03-12 06:33:21

标签: sql sql-server tsql

我尝试过这样做,但失败了。

SELECT table2.ID, table1.* FROM table2
LEFT JOIN table1 ON table1.ID = table2.table1ID

如何从表中选择所有列?

编辑:上述查询中没有错误。我不知道导致错误的原因,但代码现在正在运行。

4 个答案:

答案 0 :(得分:3)

您的字段名称冲突,因为两个表都有ID字段。你必须

 SELECT table2.ID as t2_id, table1.* FROM table2
LEFT JOIN table1 ON table1.ID = table2.table1ID

答案 1 :(得分:2)

你所拥有的是语法正确的,你的意思是什么失败了?您收到错误消息还是没有得到您想要的结果? (BTW选择*是一种不好的做法,只返回你需要的列。在这种情况下你不需要所有列,因为table1中的id字段将具有与它连接到的文件din表2完全相同的数据)

答案 2 :(得分:1)

    SELECT t2.ID, t1.* FROM table2 t2
LEFT JOIN table1 t1 ON t1.ID = t2.table1ID

这适用于sql 2000 +

答案 3 :(得分:0)

如果我在存储过程中工作,我有一个已定义的@Table数据类型,使用select table没有问题。*尤其是如果我在结尾使用它作为输出SELECT。因此,在这种情况下关于生产服务器和网络流量的评论没有意义,因为整个存储过程在内存中执行。在这种情况下,select。*仅返回所有已提前定义的列。