나는이 검색을 시도하지만 내 Vocab의가 작업까지했다 확실하지 않다 . 하나의 테이블을 쉽게 가짜로 만들어서 스키마 차이를 처리 할 수는 있지만, 첫 번째 테이블의 정보를 기반으로 두 번째 테이블의 행 부분 집합 만 원한다는 것이 중요합니다. 내 마지막 수단은 저장된 proc 및 임시 테이블을 만들고 있지만 쿼리를 사용하여이 작업을 수행 할 수 있는지 궁금합니다. 이MySQL에서는 UNION으로 SELECT 할 수 있지만 첫 번째 쿼리를 기반으로 두 번째 쿼리의 행을 제한 할 수 있습니까? 내가 다른 스키마와 테이블에서 나는 하나 개의 쿼리 (나쁜 소프트웨어)에 결합해야 두 개의 테이블을 가지고</p> <p>...
의 MySQL 5.5에 내가 좋아하는 뭔가를 말 :
Cats BadCats
---- -------
id cat_id
name color
weight badness
length
color
awesomeness
나는 파란색 결과 집합에있는 고양이에 대한 모든 블루 고양이 나쁜 고양이의 값을 선택합니다. 마찬가지로 :
SELECT id,name,awesomeness from Cats where color = 'blue'
UNION
SELECT cat_id,null,badness from BadCats
where BadCats.cat_id = Cats.id
and BadCats.color = 'blue' -- or BadCats.color = Cats.color
나는 것 할 싶은 것의 또 다른 인위적인 예 :
SELECT id,name from Cats c JOIN BadCats bc on bc.cat_id=c.id
그러나 가짜 BadCat의 열 어떻게 든 작동 것이다 조인 있도록. 잠재적
CREATE TABLE temp
SELECT id,name,awesomeness from Cats where color = 'blue' INTO temp
SELECT cat_id,null,badness from BadCats where cat_id in (select distinct id from Cats) INTO temp
return * from temp
또는 :
CREATE TABLE temp
SELECT cat_id,null,badness from BadCats INTO temp -- same schema
SELECT id,name,awesomeness from Cats LEFT JOIN BadCats on id=cat_id
where Cats.color = 'blue'
또는 더 많은 잠재적 고양이 같은 스키마 BadCats에보기 ...
최종 목표 내 저장된 프로 시저가 같을 것 여기에 발견 된 고양이와 일치하는 BadCats에 행을 포함 시켜서 얼마나 멋지고/나빴는지에 대한 아이디어가있는 파란색 고양이 목록을 얻는 것이므로 소프트웨어는 ID를 기반으로 행을 처리 할 수 있습니다.
스키마가 전혀 이해가 안됩니다. 왜 나쁜 고양이가 나빠질까요? 고양이 테이블에있는 재산 (칼럼)이 왜 나쁜 것입니까? –