나는이 쿼리를 사용하고 있지만 내가 잘못이 ...SQL SELECT 중복 열
SELECT * FROM [Orders]
JOIN [Customers]
ON [Orders].[CustomerID] = [Customers].[CustomerID]
WHERE [Orders].[OrderDate] BETWEEN '2010/1/1' AND '2011/1/1'
AND [Orders].[Total] > 1
내가 CustomerID를위한 중복 열 이름 오류를 받고 있어요. 이 작업을 위해 별칭을 사용하는 방법을 잘 모르겠습니다.
누군가가 올바르게 작성하는 방법을 보여줄 수 있습니까?
편집 : 모든 제안
덕분에, 여기에 내가 무엇을 함께 할 수 있습니다.
SELECT DISTINCT Orders.CustomerID, Orders.ShipToID, Orders.ShipName, Orders.ShipAddress, Orders.ShipAddress2, Orders.ShipCity, Orders.ShipStateOrProvince, Orders.ShipPostalCode, Orders.Total, Orders.OrderDate, Customers.Profession
FROM Orders
JOIN Customers
ON Orders.CustomerID = Customers.CustomerID
WHERE Orders.OrderDate BETWEEN '4/3/2010' AND '2/20/2011'
AND Orders.Total > 1
감사합니다.
프로덕션 코드에서 'SELECT *'를 사용하지 마십시오. 열 이름을 지정하십시오. http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/10/bad-habits-to-kick-using-select-omitting-the-column-list.aspx –
@AaronBertrand 훌륭한 조언 (및 아주 좋은 기사, 그런데). 게시물에 이것이 생산 코드라는 표시는 없습니다. – jadarnel27
@ jadarnel27 확실하지만'SELECT * '을 사용하지 않아도 여전히 문제를 완화하는 데 도움이됩니다. 적어도 별칭을 제어 할 수는 있습니다. –