Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL:Mehrspaltiger Join über mehrere Tabellen hinweg?

Ihr Datenmodell ist suboptimal. Bedenken Sie:

Person     PersonRole     Role      Table
------     ----------     ----      -----
Id*        PersonId*      Id*       Id*
Name       RoleId*        Name      Name
                          TableId

Davon abgesehen...

select dining_table from Dining_Tables where 
      bus_boy = "Joe Smith" or
      waiter = "Joe Smith" or 
      server = "Joe Smith"
union
select poker_table from Poker_Tables where 
      dealer = "Joe Smith" or 
      pit_boss = "Joe Smith"
union
select computer_table from Computer_Tables where 
      programmer = "Joe Smith"