예를 들어 테이블 번호가 doc_number 인 클라이언트가 있고 클라이언트 테이블에 클라이언트 문서가 있으면 클라이언트 문서 목록도 있습니다.필터 및 조건
질문은이 목록에 있고 테이블에없는 클라이언트를 모두 얻는 쉬운 방법이 있습니까?
보조 테이블을 사용하고 싶지 않습니다. 감사합니다!
예를 들어 테이블 번호가 doc_number 인 클라이언트가 있고 클라이언트 테이블에 클라이언트 문서가 있으면 클라이언트 문서 목록도 있습니다.필터 및 조건
질문은이 목록에 있고 테이블에없는 클라이언트를 모두 얻는 쉬운 방법이 있습니까?
보조 테이블을 사용하고 싶지 않습니다. 감사합니다!
당신은 당신의 자신의 기능
CREATE DEFINER=`root`@`localhost` FUNCTION `filter_clients`(InString Varchar(1000)) RETURNS varchar(1000) CHARSET utf8
BEGIN
# loop to divide string list by comma
# select for each string segment
# add result to Outstring.i
RETURN OutString;
END
를 작성하고 내가 그렇게 할 것
SELECT filter_clients('123456, 1234658, 145678')
로 나중에 전화
나는 분명하지는 않지만, 두 번째 테이블에는 이와 같은 문서 목록 (123456, 1234658, 145678)이 없지만 훨씬 오래 걸릴 수 있습니다! – theGabyRod
질문이 (123456, 1234658, 145678)이 클라이언트 테이블에없는 경우 선택한 프로그래밍 언어로 MySQL 외부에서 목록을 분리 한 다음 각 번호에서 SQL 검사를 실행합니다. MySQL 내에서 목록을 반복하는 SQL 함수를 작성할 수도 있지만 외부에서 쉽게 수행 할 수 있습니다. – 576i
생각은 좀 더 단순한 일을하는 것이고, 나는 임시 테이블을 만들고 바로 바깥 쪽 조인을 할 수 있습니다. BUt thats exactlly 내가 싫어하는 것 : – theGabyRod
당신이 사용할 수있는 몇 가지 다른 언어 목록을 나눌 수 있습니다 파생 테이블 :
SELECT * FROM (
SELECT 2000 AS doc_number
UNION ALL SELECT 2001
UNION ALL SELECT 2002
UNION ALL SELECT 2003
UNION ALL SELECT 2004
UNION ALL SELECT 2005
UNION ALL SELECT 2006
) b
WHERE b.doc_number NOT IN (SELECT doc_number FROM client)
스프레드 시트를 열고 문서 목록으로 "모두 선택 ..."으로 만드십시오.
귀하의 질문을 명확하게하려고 –