Heim >Backend-Entwicklung >PHP-Tutorial >SQL-Abfrage mit mehreren Bedingungen
Um eine Abfrage mit mehreren Bedingungen zu implementieren, ist der Wert 0 nicht eingeschränkt. So verwenden Sie SQL, um dies zu erreichen
Zum Beispiel: Wenn Sie eine bestimmte Art von Geschäft in einem bestimmten Bereich abfragen, ist es möglich, dass der Bereich unbegrenzt ist. Wenn es sich bei dem Typ um chinesisches Essen handelt, ist für die Abfrage nicht „wo Region = Wert“ erforderlich, sondern nur „wo Typ = Chinesisch“. Wenn es sich bei der Region um Peking handelt, lautet der Typ „Chinesisches Essen“.
Dann gibt es noch viele andere Bedingungen, um das Backend zu beurteilen und dann verschiedene SQL-Anweisungen zum Abfragen zu verwenden, aber ich denke, SQL sollte entsprechende Lösungen haben gib mir einen Rat.
Um eine Abfrage mit mehreren Bedingungen zu implementieren, ist der Wert 0 nicht eingeschränkt. So verwenden Sie SQL, um dies zu erreichen
Zum Beispiel: Wenn Sie eine bestimmte Art von Geschäft in einem bestimmten Bereich abfragen, ist es möglich, dass der Bereich unbegrenzt ist. Wenn es sich bei dem Typ um chinesisches Essen handelt, ist für die Abfrage nicht „wo Region = Wert“ erforderlich, sondern nur „wo Typ = Chinesisch“. Wenn es sich bei der Region um Peking handelt, lautet der Typ „Chinesisches Essen“.
Dann gibt es noch viele andere Bedingungen, um das Backend zu beurteilen und dann verschiedene SQL-Anweisungen zum Abfragen zu verwenden, aber ich denke, SQL sollte entsprechende Lösungen haben gib mir einen Rat.
Sie können bestimmen, ob und dann das entsprechende Where eingeben
Beispiel: $sql = select * from xxx where 1=1;
<code>if(类型!=0){ $sql .= 'and where 类型 = 中餐'; }</code>
Verwenden Sie die Abfragebedingungen als Map
<code>public String getWhere(Map<String, Object> params) { String str = ""; if(params.size() > 0) { boolean and = false; for(String param : params.keySet()) { Object value = params.get(param); if(value == null || value.equals(0)) { continue; } else { if(and) { str = str + " and " + param + " = " + " " + value; } else { and = true; str = str + param + " = " + " " + value; } } } } if(str != "") { str = " where " + str; } return str; }</code>
Mybatis bedeutet SQL
JPA bedeutet Creteria
Linkbedingungen und oder
Beim Abfragen von MySQL werden Zeichenfolgen zum Übergeben von MySQL-Abfragebefehlen verwendet. Daher ist es durchaus möglich, die Abfragebedingungen dahinter zu ändern. Sie können zunächst ein Zeichenfolgenarray zum Speichern dieser Befehle erstellen und diese dann jedes Mal zum Ändern der Bedingungen verwenden, z Als Hook Ändern Sie nach Auswahl der Adresse den entsprechenden Wert des Arrays oder überprüfen Sie nach dem Klicken auf die Abfrage, welche Komponenten in der Schnittstelle, z. B. die Essenskategorie oder die Adresse, überprüft werden, rufen Sie deren Werte ab, fügen Sie sie dem Array hinzu und klicken Sie dann Wenn sie leer sind, werden sie nicht verarbeitet. Wenn sie nicht leer sind, werden sie der einheitlichen Bedingungszeichenfolge hinzugefügt = „select * from table name where einheitliche Bedingung“
Als Neuling habe ich vielleicht nicht sorgfältig darüber nachgedacht, aber bei diesem Ansatz sollte es kein großes Problem geben