sql >> Database teknologi >  >> RDS >> Mysql

Kompliceret MySQL-forespørgsel

Du kan gøre sådan noget:

SELECT 
    t1.post_id, 
    t1.meta_value AS name, 
    t2.meta_value AS season, 
    t3.meta_value AS episode
FROM
    (
    SELECT *
    FROM the_table
    WHERE meta_key = 'name'
    ) t1
INNER JOIN
    (
    SELECT *
    FROM the_table
    WHERE meta_key = 'season'
    ) t2 ON t1.post_id = t2.post_id
INNER JOIN
    (
    SELECT *
    FROM the_table
    WHERE meta_key = 'episode'
    ) t3 ON t1.post_id = t3.post_id
 

Dette vil give dig resultatet:

| post_id | name | season | episode | ------------------------------------------- | 1 | Smallville | 1 | 1 | | 2 | Smallville | 1 | 2 |

I denne form er det meget lettere for enhver operation.

Det du skal bruge er at tilføje:

WHERE name = 'Smallville'
ORDER BY season, episode
 


  1. Få typen af ​​en variabel i MySQL

  2. Valg af tilfældige ord fra tabellen

  3. Rails-udvikling - Kan ikke oprette forbindelse til MySQL-server på 'localhost' (10061)

  4. Skal erklære den skalære variabel