SQL列存在多次
这很好用SQL列存在多次,sql,sql-server,Sql,Sql Server,这很好用 SELECT i.*,o.*,p.* FROM orders o INNER JOIN oitems i ON i.orderid = o.orderid LEFT OUTER JOIN products p ON i.catalogid = p.catalogid 然而,我想执行嵌套选择作为一个例子,这是给coulmn x存在不止一次 SELECT AA.*, FROM ( SELECT i.*,o.*,p.* FROM orders o INNER JOIN oit
SELECT i.*,o.*,p.*
FROM orders o
INNER JOIN oitems i
ON i.orderid = o.orderid
LEFT OUTER JOIN products p
ON i.catalogid = p.catalogid
然而,我想执行嵌套选择作为一个例子,这是给coulmn x存在不止一次
SELECT AA.*,
FROM (
SELECT i.*,o.*,p.*
FROM orders o
INNER JOIN oitems i
ON i.orderid = o.orderid
LEFT OUTER JOIN products p
ON i.catalogid = p.catalogid ) AA
我知道第二个示例毫无意义,但我需要另一个使用groupping的select,是否有方法修复coulm存在多次错误,而不必在select语句中指定列名 通过使用
*
,您将在输出中多次获得同一列。为了避免这种情况,请特别说明要返回的列
罪魁祸首可能是
orderid
和catalogid
,它们都存在于多个表中,但也可能存在其他表。通过使用*
,您在输出中多次获得同一列。为了避免这种情况,请特别说明要返回的列
罪魁祸首可能是
orderid
和catalogid
,它们都存在于多个表中,但也可能存在其他表。通过使用*
,您在输出中多次获得同一列。为了避免这种情况,请特别说明要返回的列
罪魁祸首可能是
orderid
和catalogid
,它们都存在于多个表中,但也可能存在其他表。通过使用*
,您在输出中多次获得同一列。为了避免这种情况,请特别说明要返回的列
罪魁祸首可能是
orderid
和catalogid
,它们都存在于多个表中,但可能还有其他表。您特别提到了列名。我可以看到您正在使用“*”。你必须使用像选择i.columnName,o.columnName等你必须特别提到列名。我可以看到您正在使用“*”。你必须使用像选择i.columnName,o.columnName等你必须特别提到列名。我可以看到您正在使用“*”。你必须使用像选择i.columnName,o.columnName等你必须特别提到列名。我可以看到您正在使用“*”。您必须使用类似select i.columnName,o.columnName等,错误是关于主键列,但我想知道为什么第一个查询中没有重复的列有重复的列,例如,catalogid
存在于两个表中,您要求两个列在输出中具有相同的名称,所以“列存在不止一次”。别名列的第二个实例,或者删除它,因为它是基于连接的相同值。因此,最后写所有列名是唯一的解决方案?不是,但是最好和正确的解决方案。您几乎应该始终避免在生产代码中使用*
。对于临时查询或特殊代码(例如ORM生成)来说,这是可以的,但如果有疑问,请不要使用它。对,错误是关于主键列,但我想知道为什么第一个查询中没有重复列。有重复列,例如,catalogid
存在于两个表中,您要求两个列,它们在输出中具有相同的名称,因此“列存在多次”。别名列的第二个实例,或者删除它,因为它是基于连接的相同值。因此,最后写所有列名是唯一的解决方案?不是,但是最好和正确的解决方案。您几乎应该始终避免在生产代码中使用*
。对于临时查询或特殊代码(例如ORM生成)来说,这是可以的,但如果有疑问,请不要使用它。对,错误是关于主键列,但我想知道为什么第一个查询中没有重复列。有重复列,例如,catalogid
存在于两个表中,您要求两个列,它们在输出中具有相同的名称,因此“列存在多次”。别名列的第二个实例,或者删除它,因为它是基于连接的相同值。因此,最后写所有列名是唯一的解决方案?不是,但是最好和正确的解决方案。您几乎应该始终避免在生产代码中使用*
。对于临时查询或特殊代码(例如ORM生成)来说,这是可以的,但如果有疑问,请不要使用它。对,错误是关于主键列,但我想知道为什么第一个查询中没有重复列。有重复列,例如,catalogid
存在于两个表中,您要求两个列,它们在输出中具有相同的名称,因此“列存在多次”。别名列的第二个实例,或者删除它,因为它是基于连接的相同值。因此,最后写所有列名是唯一的解决方案?不是,但是最好和正确的解决方案。您几乎应该始终避免在生产代码中使用*
。对于特殊查询或特殊代码(例如ORM生成)来说,这是很好的,但是当有疑问时,不要使用它。。。。。