sql >> Databasteknik >  >> RDS >> Mysql

Välja en kolumn från en tabell i MySQL två gånger

Du måste gå med i tabell b två gånger och varje gång använda olika tabellnamn (b1, b2) med as

select *
from a join b as b1 on a.to = b1.lid 
       join b as b2 on a.from = b2.lid 

så resultatet skulle bli

--------------------------------------------
|a.uid | a.to | b1.name | a.from | b2.name |
--------------------------------------------
|   1  |   1  |  one    |   2    | two     |
--------------------------------------------

men det du förmodligen vill är att förhindra namnkrock – om du t.ex. kalla det från PHP - så döp då även om kolumnerna:

select a.*, b1.name as toName, b2.name as fromName
... (rest of the query as above)


  1. PHP MySQL infogar data till flera tabeller

  2. mysql-fråga med liknande %..% i where-satsen som returnerar olika resultat

  3. ta bort primärnyckelrad som är främmande nyckel för en annan tabell

  4. MySQL skapa tid och uppdatera tidsstämpel