nenne ich eine Webservice und ich bekomme eine Liste von Codes: A, B, C, D, E, F usw.Abfrage Tabelle mit unterschiedlicher Liste von Variablen wie
In meinem Problem bekomme ich A, B, C.
Es gibt einen Tisch, an dem Sie Sätze mit dem oben genannten Codes erstellen und für jeden Satz können Sie eine bestimmte Nachricht hinzufügen, damit der Endbenutzer die Codes verstehen. Zum Beispiel A bedeutet "ok", B bedeutet "Sie können sich einloggen" Also für die Gruppe A, B könnte eine Nachricht "Sie können sich einloggen" sein. Die Codesätze werden in einer Spalte (Codes) gespeichert.
In meinem Problem Abfrage, die ich die Tabelle, indem Sie die folgende Abfrage verwenden:
Select setid, codes, messagedescr from table1 where setid = (select max(setid) from table1
And codes Like '%A%'
And codes Like '%B%'
And codes Like '%C%');
Diese Abfrage eine Zeile findet, aber es ist falsch, die Spalte "Codes" enthält die folgenden Codes: A, B, C, D .
zum Beispiel
:setid codes messagedescr
1 A, B, C, D You can login
2 B, C, D You can login for one day
3 A, C, E You can login but update your profile
4 B, C, E, F You cannot login
ich aus der Webservice die Reihenfolge der Codes nicht wissen, und ich weiß nicht, wie die Codes in der Tabelle gespeichert werden, so hatte ich etwas, ohne zu machen, , Dies warum ich die Likes benutzt habe. Es gibt 25 Codes: A, B, C usw.
Wie kann ich die Abfrage beheben, damit ich die richtige Nachricht finden kann?
Danke!
Update: Vielen Dank für Ihre Antworten und speziell die ausführlicheren Antworten, die zusätzliche Arbeit wie das Erstellen der Tabellen hatten. Die Tabelle könnte aus 10-20 Zeilen bestehen. Ein Fall besteht darin, eine weitere Tabelle für die Codes zu erstellen und sie mit den Set-IDs zu verbinden. Oder der andere Fall besteht darin, die Längen der Codes aus dem Service zu zählen und festzustellen, ob sie mit der Länge in der Tabelle übereinstimmen.
Können Sie bitte einige Beispieldaten und das gewünschte Ergebnis veröffentlichen? (formatierter Text, bitte) – Aleksej
@Tstigtelis Thanasis, Wenn Sie A, B, C schreiben bedeutet Nachricht, die Sie wollen dispaly.ie A-Nachricht oder B-Nachricht oder C-Nachricht, was ist Ihre Priorität. – Mansoor
Dies ist eine Folge des schlechten DB-Designs, das mit Ihnen aufholt. Speichern Sie nicht mehrere Codes in einer einzelnen Spalte. Verwenden Sie eine separate Tabelle. – dasblinkenlight