2010-08-05 2 views
0

중첩 된 SELECT 문을 사용하여 내부 절 내부의 외부 절 값을 어떻게 사용할 수 있습니까? 예 :inner 절의 outer 절에서 열 이름을 사용하는 방법은 무엇입니까?

SELECT cost AS c, quantity, (SELECT COUNT(1) FROM accounts WHERE cost = c) 
FROM accounts 

은 위에서 시도한대로 내부 SELECT 절에서 참조 할 수 있습니까?

+0

이것은 MySQL에서 잘 작동합니다. 뭐라구? –

답변

2

외부 테이블의 별칭 (예 : FROM accounts AS a). 그런 다음 내부 하위 쿼리에서 a.cost을 수행하면됩니다.

EDIT. 즉, 각 행에 대한 하위 쿼리없이이 쿼리를 작성하는 더 좋은 방법이 있습니다.

SELECT a.cost, a.quantity, COUNT(b.id) AS count 
FROM accounts AS a LEFT JOIN accounts AS b ON b.cost = a.cost 
+0

inner 절이 외부 또는 내부 버전인지 어떻게 알 수 있습니까? – CJ7

+0

아, 죄송합니다. 외부 테이블을 다른 것으로 별칭 지정하고 별칭을 사용해야합니다. 나는 대답을 편집 할 것이다 –

+0

어떤 SQL을 사용하고 있습니까? 그런 식으로 별명을 붙일 수는 없습니다. 나는 할 수있다 : accounts a – CJ7

관련 문제