sql >> Databasteknik >  >> RDS >> Mysql

MySQL SELECT-sats där värdet är i array

Du kan använda FIND_IN_SET

SELECT * FROM tbl_fruits 
WHERE find_in_set('$fruit', fruit)

Men du borde faktiskt hellre ändra din bordsdesign.

Lagra aldrig flera värden i en enda kolumn!

En bättre bordsdesign vore

fruits table
------------
id    name
1     melon
2     orange
3     apple
...


products table
-------------------
id    name   price
1     P1     1.50
2     P2     2.99
3     P3     0.99


product_fruits table
--------------------
product_id   fruit_id
1            1
1            2
2            2
3            1

Det är en klassisk många till många relation (m till n).



  1. Enkel fråga för att få maxvärde för varje ID

  2. Hur skapar man ett event som pågår var 24:e timme?

  3. Hitta närmaste matchande strängar och dess delsträngar med hjälp av SQL-fråga

  4. Hur använder man infoga i frågebyggaren infoga flera poster?