Heim > Backend-Entwicklung > PHP-Tutorial > SQL-Abfrage mit mehreren Bedingungen

SQL-Abfrage mit mehreren Bedingungen

WBOY
Freigeben: 2016-10-17 09:30:08
Original
1309 Leute haben es durchsucht

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.

Antwortinhalt:

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>
Nach dem Login kopieren

Verwenden Sie die Abfragebedingungen als Map und verwenden Sie dann eine Methode, um zusätzliche Abfrageanweisungen zu verbinden;

<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>
Nach dem Login kopieren

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage