2017-03-08 1 views
0

Ich habe eine Tabelle shoes genannt:SQLite3 - Wie eine bestimmte Anzahl aus einer Zeichenfolge wählen

Shoe_model  price sizes 
----------------------------------------------- 
Adidas KD  $55  '8, 9, 10, 10.5, 11, 11.5' 

Nike Tempo  $56  '8, 9, 11.5' 

Adidas XL  $30.99 '9, 10, 11, 13' 

Wie kann ich eine Zeile für eine bestimmte Größe wählen?

Mein Versuch:

SELECT * FROM shoes WHERE sizes = '10'; 

Gibt es eine Möglichkeit, um dieses? Mit LIKE erhalten Sie beide 10 und 10,5 Größen, also versuche ich WHERE dafür zu verwenden. Danke

+1

Verwenden Sie 'Größen wie '% 10,%' oder rechts (Größen, 2) = '10''. Sie werden besser Ihre Daten normalisieren – cha

+0

oder 'CONCAT (Größen, ',') wie '% 10,%'' – cha

+0

Ich bekomme 'keine solche Funktion: CONCAT' – tadm123

Antwort

1

Zunächst sollten Sie die Größen nicht als Komma-getrennte Zeichenfolge speichern. Sie sollten eine separate Zeile mit einer Zeile pro Größe pro Show haben. Das ist die SQLish-Methode zum Speichern von Dingen.

Manchmal sind wir mit den schlechten Designentscheidungen anderer Menschen festgefahren. Sie können etwas wie folgt tun:

Die Trennzeichen sind wichtig, damit "10" nicht mit "100" übereinstimmt.

Verwandte Themen