나는 3 개 테이블 세트가 있습니다MySQL : 여러 테이블에서 다중 열 조인을 사용 하시겠습니까?
Dining_Tables; +--------------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------------+--------------+------+-----+---------+-------+ | dining_table | int(11) | NO | PRI | NULL | | | bus_boy | varchar(35) | NO | | NULL | | | waiter | varchar(35) | NO | | NULL | | | server | varchar(35) | NO | | NULL | | +--------------------+--------------+------+-----+---------+-------+ Poker_Tables; +--------------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------------+--------------+------+-----+---------+-------+ | poker_table | int(11) | NO | PRI | NULL | | | dealer | varchar(35) | NO | | NULL | | | pit_boss | varchar(35) | NO | | NULL | | +--------------------+--------------+------+-----+---------+-------+ Computer_Tables; +--------------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------------+--------------+------+-----+---------+-------+ | computer_table | int(11) | NO | PRI | NULL | | | programmer | varchar(35) | NO | | NULL | | +--------------------+--------------+------+-----+---------+-------+
각 행은 그와 관련된 전역 적으로 고유 한 테이블 ID를 가지고 (dining_table
, poker_table
, computer_table
) 다른 열 사람의 첫 번째/마지막 이름을 저장 굴러 다닌다.
내 모델에서는 한 개인이 여러 가지 작업을 수행 할 수 있습니다. 예를 들어 Joe Smith는 프로그래머로 computer_table
에 앉아서 poker_table
에 딜러로 앉아서 웨이터로 dining_table
을 기다릴 수 있습니다.
내 질문은 : 주어진 사람에 대해 table_ids
을 모두 검색 할 수있는 쿼리가 필요합니다. 특히, 쿼리는 Joe Smith가 현재있는 table_ids
의 목록을 반환합니다.
나는이 라인을 따라 뭔가를 할 수 :
select dining_table from Dining_Tables where bus_boy = "Joe Smith" or waiter = "Joe Smith" or server = "Joe Smith"; select poker_table from Poker_Tables where dealer = "Joe Smith" or pit_boss = "Joe Smith"; select computer_table from Computer_Tables where programmer = "Joe Smith";
그러나, 세 가지 별도의 쿼리를 그리고 난 정말 가능하다면 것을 일을 방지하기 원합니다. 조인을 사용하여 하나의 쿼리에서이 작업을 수행 할 수 있습니까?
Perphaps 질문 제목의 더 현명한 방법은 MySQL입니다. 여러 테이블에서 여러 행을 조인 할 수 있습니까? 그게 처음에 요청한 것입니다 ... 두 개 이상을 병합하지 않았습니다. 기준과 함께 "열"을 선택하십시오. – Victor