2017-02-09 11 views
-3

Probilem wird alle Daten in der Tabelle in diesem Code .but zeigt sichIch möchte Suchergebnis aus SQL-Tabelle erhalten

select * from book 
WHERE bookid LIKE '%% OR title LIKE '%%' OR author LIKE '%%' OR publisher OR '%%'; 
+8

Wissen Sie, wie 'LIKE' funktioniert? – Lamak

+0

'ODER Verleger OR' Ich bezweifle, dass dies sogar kompiliert. Wie auch immer, um WIE etwas zu finden, müssen Sie einen Text zwischen die% Wildcards setzen. Ansonsten, ja, es wird alles zurückgeben. Ich schlage vor, Sie lesen die Dokumente und/oder machen in der Frage klarer, was Sie erreichen möchten. – ADyson

+0

Syntaxfehler und andere Probleme. (Der erste fehlt Endzitat für die erste LIKE.) – jarlh

Antwort

2

Erweiterung auf dem, was Chance Finley sagte oben, aber erklärt, die Verwendung von LIKE nicht brauchen, ist hier ein Link zu erklären http://www.w3schools.com/sql/sql_like.asp

SELECT bookid, title, author, publisher 
FROM book 
WHERE author = 'Thisara Bandara' OR publisher = 'Random Name' 
OR author LIKE '%hat%' 

das Zeichen „%“ wird verwendet, Platzhalter zu definieren (fehlende Buchstaben) sowohl vor als auch nach einem Muster

LIKE '%hat%' 

Dies so etwas wie „chats“ zurückkehren könnte

LIKE '%hat' 

Das ist etwas wie „Chat“

LIKE 'hat%' 

zurückkehren konnten oder dies könnte zurückkehren etwas wie Hüte

außerdem Kenntnis der Syntax nehmen, ist es falsch, das gewünschte Ergebnis zu erhalten. Sie wäre so etwas wie die folgenden

select * from book 
WHERE bookid LIKE '%something%' OR title LIKE '%soemthing%' OR author LIKE '%something%' OR publisher OR '%something%'; 

Der Grund tun müssen, es wird alles zurückkehrt, weil es nichts zwischen dem ‚%%‘ ist, die im Grunde bedeutet, es könnte alles sein, weil es nichts zu filtern durch

0

Sie scheinen um Ihre Sektionen gemischt zu haben. Verwenden Sie SELECT, um die Felder zu definieren, die Sie sehen möchten, und FROM für die Tabelle, aus der sie kommt.

Verwenden Sie die WHERE-Anweisung, um Kriterien wie die folgenden zu spezifizieren. Von dem, was ich sehe, dass Sie schreiben Sie Kriterien in SQL

WHERE author = 'Thisara Bandara' 
Verwandte Themen