2015-02-04 4 views
0

내 데이터베이스 구조에서 동일한 이름을 포함하는 일부 열이있는 두 개의 테이블이 있습니다. 이 예제에서는 테이블 productsproducts_options이 있습니다. 두 테이블의 열은 sku입니다.MySQL : 같은 열 이름을 가진 조인 된 테이블에서 비어 있지 않은 값을 선택하십시오.

열이 두 테이블 또는 두 테이블 중 하나에 채워질 수 있습니다. products_options 빈과 products에서 비어 있지

  • sku 경우 : 다음과 같은 SKU를 선택 쿼리의 SELECT 부분에 무언가를 추가 할 수 있습니다 경우 궁금 해서요 products
  • 의 값을 반환
  • 경우 skuproducts_options 빈과 products에서 비어 있지되지 않습니다 : skuproducts에서 products_options 빈과 비어 있지 않은 경우 products_options
  • 의 값을 반환 : 반환 products_options

MySQL에서 이와 비슷한 기능이 있습니까?

+1

가 지금까지 무엇을 제시해주십시오. 테이블은 어떻게 결합됩니까? –

답변

1

이 같은 coalesce() 기능을 시도 할 수 있습니다 :

select coalesce(p1.sku,p2.sku) as sku 
from(
    (select id,sku from products_option) as p1 
    inner join 
    (select id,sku from products) as p2 
    on p1.id = p2.id 
) 
+0

서브 쿼리가 필요한 이유는 무엇입니까? INNER JOIN에 대한 확신이 있으십니까? –

+0

그게 내가 찾고 있던 기능이야, 고마워! 이 상황에서는 하위 쿼리가 필요하지 않습니다. 이미 테이블에 가입하고 있습니다. – Jules

관련 문제