sql >> Database >  >> RDS >> Mysql

De geselecteerde waarde toewijzen in MySQL

U moet de gegevensstructuur van uw huidige tabellen wijzigen. Maar voor uw huidige gegevensstructuur kunt u deze lastige zoekopdracht gebruiken (uitgaande van het patroon van table_1.choice is altijd Item XX ):

SELECT t1.id, t2.rid, t1.qid, t1.choice, t2.question
  FROM Table1 t1
  JOIN Table2 t2
    ON RIGHT(t1.choice, LENGTH(t1.choice) - 5) 
     = LEFT(t2.question, LOCATE('.',t2.question) - 1);

Uitgang:

| ID |  RID |  QID |  CHOICE |        QUESTION |
|----|------|------|---------|-----------------|
| 11 | 1001 | 2020 |  Item 1 |  1.I love apple |
| 12 | 1002 | 2020 |  Item 2 | 2.I love orange |
| 13 | 1003 | 2020 | Item 14 | 14.I hate lemon |

Bekijk deze SQLFiddle



  1. tabel wordt twee keer gespecificeerd, zowel als een doel voor INSERT als als een afzonderlijke gegevensbron

  2. geëmuleerde voorbereide verklaringen versus echte voorbereide verklaringen

  3. Hoe de laatste rij te lezen met SQL Server

  4. Hoe kleine letters naar hoofdletters te converteren in SQL Server - UPPER()