아래의 쿼리를 사용하여 고객 세부 정보를 얻습니다. 하지만 제발 저를 도와주세요. 나는 SQL에 대해 새삼 스럽다. 당신은 WHERE
절에 사용되는 하위 쿼리에서 열을 선택할 수 없습니다기본 쿼리에서 하위 쿼리 가져 오기
select cu.fld_cust_id,ord.* from test1 where fld_order_id ord in (select * from tbl_customer cu where cu.fld_status=1);
아래의 쿼리를 사용하여 고객 세부 정보를 얻습니다. 하지만 제발 저를 도와주세요. 나는 SQL에 대해 새삼 스럽다. 당신은 WHERE
절에 사용되는 하위 쿼리에서 열을 선택할 수 없습니다기본 쿼리에서 하위 쿼리 가져 오기
select cu.fld_cust_id,ord.* from test1 where fld_order_id ord in (select * from tbl_customer cu where cu.fld_status=1);
, 그들은이 쿼리에 가입하지 않은 becaused. 이 하위 쿼리에서 반환 된 값 범위를 사용하고 있습니다.
하위 쿼리는 여기에 하나의 열만 반환해야합니다.
다음과 같이 시도해야합니다.
SELECT cu.fld_cust_id, ORD. * TEST1 FROM는 cu.fld_status ON tbl_customer 세제곱 가입 = 1 AND fld_order_id = cu.fld_cust_id 당신은 또한 당신이 할 수있는 것을 인식 할 필요가 쿼리에서
fld_order_id = cu.fld_cust_id는 적합하지 않으며 ord도 마찬가지 * * –
맞습니다. 그러나 실제로 테이블이 어떻게 생겼는지는 알 수 없습니다. –
현재 범위의 필드 만 볼 수 있습니다. 따라서 메인 쿼리에서는 FROM TEST1 만 사용하므로 해당 테이블의 필드 만 볼 수 있습니다. ord *와 cu를 사용하면 오류가 발생합니다. 해당 테이블의 다른 필드가 필요하면 JOIN을 사용하십시오. TEST1 테이블에는 TBL_CUSTOMER에 연결된 외래 키가 있어야합니다. 그렇지 않으면 다른 다른 테이블을 사용하거나 데이터베이스를 다시 디자인해야합니다.
select fld_cust_id from test1 where fld_cust_id in (select id from tbl_customer cu where cu.fld_status=1);
가 확실하지 귀하의 tbl_customer 무엇, 그러나 당신이 fld_order_id에 * 일치하는 것 같다 : 당신이 외래 키가있는 경우, 즉, IN 연산자 주위에 무엇을 사용합니다. 고객 테이블의 order_id와 일치해야합니다.
select cu.fld_cust_id,ord.*
from test1
where fld_order_id ord in (
select *ORDERID* from tbl_customer cu where cu.fld_status=1
);
정확하게 원하는 것을 지정할 수 있습니까? –