2017-11-23 2 views
0

테이블을 조인해야하지만 실제로 웹 사이트에 무엇이 있는지 이해할 수 없습니다. 당신이 나를 도울 수?MySQL에서 쿼리를 사용하여 여러 열이있는 테이블에 가입하십시오.

나는 테이블

제품

ID/product_name/product_description/product_code/

사용자

ID/username/username_id/password/

Checkedout

ID /product_name /product_des /username /username_id /checkedout_date/return_date/

Products (product_name/product_description) 및 Users (username/username_id)에서 Checkedout으로 어떻게 참여할 수 있습니까?

대단히 감사합니다.

+1

안녕하세요. 오신 것을 환영합니다. StackOverflow. 도움말 페이지, 특히 [여기에 관해서 내가 무엇에 관해 물을 수있는 주제는 무엇입니까?] (http://stackoverflow.com/help/on-topic) 섹션과 [ "어떤 유형의 질문을해야합니까? 묻지 마시오? "] (http://stackoverflow.com/help/dont-ask). 더 중요한 것은 [Stack Overflow question checklist] (http://meta.stackexchange.com/q/156810/204922)를 읽어보십시오. [Minimal, Complete, Verifiable Examples] (http://stackoverflow.com/help/mcve)에 대해 배우고 싶을 수도 있습니다. –

+0

https://stackoverflow.com/questions/10269809/mysql-join-query –

답변

0

테이블 조인은 매우 간단합니다. 학습을 계속하기 위해 당신에게 맡기 겠지만, 여기에 테이블에 참여하는 방법이 있습니다. 그래서 당신이 배우는 것을 더 잘 이해할 수 있도록 참조하십시오. 그리고 당신은 inner 또는 outer 가입 여부를 지정하고, -

아이디어는 그냥 (c, pu이 경우, 나는 각 테이블에 임의의 별칭을 추가 한) 당신의 테이블을 나열해야한다는 것입니다 어떤 열을 join on으로 지정하십시오. 두 테이블에서 동일한 값을 가진 열을 조인합니다. 예를 들어, Checkout에는 username_id가 있고 Users 테이블에는 ID가 있습니다. (OR을 포함 AND 등)에 가입 당신은 무엇을

select 
    * 
from 
    Checkedout c 
    inner join Products p 
     on (c.product_name = p.product_name and c.product_des = p.product_description) 
    inner join Users u 
     on (c.username_id = u.ID) 
0

먼저 당신은 테이블이 정규화 그래서 데이터베이스 스키마를 업데이트해야 지정할 때이 WHERE 절에 사용하는 것이 모두 같은 논리를 사용할 수 있습니다. Checkedout 권장 스키마

Checkedout - 아이디, PRODUCT_ID는, USER_ID는, checkedout_date는 지금

당신은 아주 쉽게 쿼리를 조인을 작성할 수 있습니다 RETURN_DATE (이 같은) :

선택 u.username, p.product_name, co.checkedout_date from co join 사용자가 u.id = co.user_id에 가입하십시오. p가 p.id = co.product_id에 있습니다. 여기서 u.id = 1;

관련 문제