sql >> Database >  >> RDS >> Mysql

MySQL:join met meerdere kolommen over meerdere tabellen?

Uw datamodel is suboptimaal. Overweeg:

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

Dat gezegd hebbende...

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"


  1. Veranderingen in de Oracle-interface

  2. Verkeerd gebruik van UNION en ORDER BY?

  3. MySQL Willekeurige resultaatgroep op volgorde van

  4. hoe een tabel te partitioneren op datetime-kolom?