首页 > 解决方案 > Microsoft SQL - 与 CROSS JOIN 斗争

问题描述

所以我必须在两个表之间做一个笛卡尔积(或交叉连接)。一个问题是两个表都有一个名为“itemname”的列。我目前的情况如下:

select *
into #cartesian_temp
from xsale CROSS JOIN xitem

delete from #cartesian_temp where deptname='books' and itemcolor='bamboo'

select * from #cartesian_temp

所以我得到的错误是:

每个表中的列名必须是唯一的。表 '#cartesian_temp' 中的列名 'itemname' 被多次指定

谁能帮我解决我的问题?

标签: sql-server

解决方案


您可以为下面的列添加别名。

选择 XS.itemname 作为 saleitemname , XI.itemname 作为 saleitemname2 到 #cartesian_temp from xsale XS CROSS JOIN xitem XI


推荐阅读