1
두 개의 MS 액세스 테이블에서 하나의 ms 액세스 테이블에 삽입하려고합니다. 두 테이블 중 하나에 중복 값이 포함 된 열이 있습니다. 내가 지금있는 것은 :두 테이블에서 한 테이블에 삽입 할 때 중복을 무시합니다.
Dim MySQL As String = "INSERT INTO XML_TEST_CASE (" & _ "TCParmId, " & _ "TestCase, " & _ "MessageType, " & _ "FileNo, " & _ "InstructionNo, " & _ "TransactionNo, " & _ "ElementNo, " & _ "MessageSection, " & _ "ElementLevel, " & _ "FullElementPath, " & _ "ElementValue, " & _ "ElementValueNew, " & _ "NameSpace, " & _ "NameSpaceValue, " & _ "Attribute, " & _ "AttributeValue, " & _ "TestCaseDescription) " & _ "SELECT " & _ "P.TCParmId, " & _ "P.TestCase, " & _ "P.MessageType, " & _ "P.FileNo, " & _ "P.InstructionNo, " & _ "P.TransactionNo, " & _ "S.ElementNo, " & _ "S.MessageSection, " & _ "S.ElementLevel, " & _ "S.ElementPath + S.Element, " & _ "S.ElementValue, " & _ "S.ElementValue, " & _ "S.NameSpace, " & _ "S.NameSpaceValue, " & _ "S.Attribute, " & _ "S.AttributeValue, " & _ "P.TestCaseDescription " & _ "FROM XML_TEST_CASE_PARAMETER P, XML_MESSAGE_STRUCTURE S " & _ "WHERE S.MessageType = P.MessageType " & _ "AND P.TestCase = '" & MyTestCase & "' " & _ "AND P.MessageType = '" & MyMessageType & "' " & _ "AND P.FileNo = " & MyFileNo & " " & _ "AND P.InstructionNo = " & MyInstructionNo & " " & _ "AND P.TransactionNo = " & MyTransactionNo & ";"
문제는 XML_MESSAGE_STRUCTURE 테이블에이 S.ElementNo 때때로 appreas 것을 일어나는 것을 더 이상 나는이 둘 이상의 레코드를 얻을 cuasing 한 번 특정 ElementNo에 대한 내 대상 테이블에서. 나는 이것을 원하지 않는다.
도움이 필요합니다. ElementNo를 제외한 모든 필드에 의해
리코
가장 쉬운 방법은 elementNo에 고유 색인을 추가하는 것입니다. – Fionnuala
모든 othjer 필드가 동일합니까? 그렇다면 SELECT DISTINCT를 사용하십시오. 그렇지 않다면 삽입 할 레코드와 제외해야 할 레코드를 어떻게 선택 하시겠습니까? –
Remou, elementNo가 중복 될 수 있기 때문에 옵션이 아닙니다. 그러나 TCParmID가 동일하지 않은 경우에만 옵션이됩니다. 즉, 각 테스트 케이스 (TCParmID)마다 항상 각 ElementNo 중 하나만 있어야합니다. –