2017-02-09 1 views
0

Ich habe zwei Tabellen:Testfunktion gegen jede Tabelle Wert SQL

FINAL_VIEW:

FINAL_VIEW

und tblUnits:

tblUnits

Ich muss überprüfen, dass jeder Value in FINAL_VIEW, falls vorhanden in Units oder wenn LIKE irgendein Feld in Correct_Unit, ist eine Groß-/Kleinschreibung für die Correct_Unit (vermutlich mit strComp(Value,Correct_Unit,0)). Ich benutze dies als Kriterium für die Auswahl.

Zum Beispiel, wenn Value war BarG es LIKE barg wäre aber würde dann falsch auf den strComp() bewerten.

Die folgende Stufe soll das entsprechende Correct_Unit (in diesem Fall barg) in einem anderen Feld zurückgeben.

Ich habe versucht, eine Unterabfrage innerhalb der strComp(), aber das funktioniert nicht und ich habe keine Ahnung, wo ot von hier gehen. Jede Hilfe wäre willkommen!

+0

Sie Ihre Tabellen nicht beschreiben. Stellen Sie die Struktur einfach mit Beispieldaten ein. – dfundako

+0

@dfundako ist das besser? –

+0

Es ist besser, obwohl die Frage immer noch verwirrend zu verstehen ist. Können Sie liefern? – Newd

Antwort

0

Meine Frage konnte nicht besonders klar sein, aber ich habe eine Lösung für beide Teile ausgearbeitet.

Der Schlüssel war Value mit Unit und führen Sie dann die Abfrage zu verbinden, während meine subStr() in der WHERE Klausel hat und die Correct_Unit auswählen.

Im Wesentlichen funktionierte die Verknüpfung.

Hier ist meine Frage Referenz:

INSERT INTO tbluoms 
SELECT final_view.controller  AS Controller, 
     final_view.compound  AS Compound, 
     final_view.contained_name AS contained_name, 
     final_view.strategytagname AS StrategyTagname, 
     final_view.tagname   AS Tagname, 
     final_view.block_cont_name AS Block_Cont_Name, 
     final_view.name   AS Name, 
     Cstr(final_view.value)  AS [Value], 
     tblunits.[correct unit] AS Correct_Value 
FROM tblunits 
     INNER JOIN final_view 
       ON tblunits.unit = Cstr(final_view.value) 
WHERE NOT (([value] = [correct unit])) 
     OR Strcomp([value], [correct unit], 0) 
      AND tagname NOT IN (SELECT [tagname] 
           FROM [tbluoms]) 
      AND name LIKE "ei*" 
      AND controller IS NOT NULL 
      AND compound IS NOT NULL; 
Verwandte Themen