2016-07-30 2 views
1

하나의 쿼리에서이 데이터베이스에서 모든 데이터를 가져 오는 데 문제가 있습니다. 여기이 스키마에서 mysql에 조인 쿼리를 수행하는 방법

함께 할 수있는 방법이 있다는 것을 내가 알고있는 Database scheme

입니다 조인하지만 난 방법을 모르겠어요. 설문지, 예약 및 고객의 모든 데이터가 필요합니다. 예약에 참여해야한다고 생각하지만 고객은 확실하지 않습니다. 순간

나는이 같은 일이

SELECT * 
FROM Booking,Questionaires,Customers 
WHERE accepted = 0 
JOIN ON Booking_idBooking = Customers_idCustomers 

이 사람이 나를 도울 수 있습니까?

미리 감사드립니다. 당신은 내부 사용할 수

+0

샘플 데이터를 제공하고 원하는 결과 질문에 * *. 어떤 정보를 추출 하시겠습니까? –

+0

당신이 정확히 원하는 결과가 확실하지 않습니다. 또한 코드가 너무 많아서 너무 광범위합니다. – Jocelyn

+0

Questionaires, Customers 및 Booking의 모든 데이터가 필요합니다. 그러나 나는이 두 사람을 어떻게 합칠 지 잘 모릅니다. 나는'SELECT * FROM Booking, Questionaires, Customers where = 0 JOIN ON Booking_idBooking = Customers_idCustomers'에서 시험을 보았습니다. – PieterJan

답변

0

이 방법을

SELECT * FROM Booking_idBooking as BB 
INNER JOIN Booking as B on BB.Booking_idBooking = B.idBooking 
INNER JOIN Customers as C on BB.Customers_idCustomers = C.idCustomers 
INNER JOIN Questionaires as Q on Q.idQuestionaires = B.uestionaires_idQuestionaires 
WHERE B.accepted = 0 ; 
0
내가 이런 일을 가겠어요

가입,하지만 당신은 왼쪽 하나 귀하의 상황에 따라 조인해야 할 수도 있습니다.

select 
    * 
from 
    customers c 

    inner join booking_has_customers bhs on 
    bhs.Customers_idCustomers = c.idCustomers 

    inner join booking b on 
    b.idBooking = booking_idBooking 

    inner join Questionaires q on 
    q.idQuestionaires = b.Questionairs_idQuestionairs 
where 
    b.accepted = 0; 

정말로주의해야 할 점은 이름 지정 규칙을 실제로 변경해야한다는 것입니다.

예를 들어 booking은 단수이지만 customers은 스키마에 복수형입니다. 일관성이 있어야합니다. 또한 idBookingbooking_idBooking과 같은 것은 좋지 않습니다. idbooking_id을 사용할 수 있습니다. 어쨌든 그냥 제안.

조인을 작성하는 방법을 배우는 데 시간을 투자 할 수도 있습니다. 좋은 예를 보려면 w3schools을 확인하십시오.

0
SELECT b.*,q.*,c.* 
FROM Booking AS b 
JOIN Questionaries AS q ON q.idQuestionaries=b.Questionaries_idQuestionaries 
JOIN Booking_has_Customers AS bhc ON bhc.Booking_idBooking=b.idBooking 
JOIN Customers AS c ON c.idCustomers=bhs.Customers_idCustomers 
WHERE b.accepted=0 

하지만 어서, 변경 ID의 간단한 ID로 이름과 당신이해야합니다 :

SELECT b.*,q.*,c.* 
FROM Booking AS b 
JOIN Questionaries AS q ON q.id=b.id 
JOIN Booking_has_Customers AS bhc ON bhc.id=b.id 
JOIN Customers AS c ON c.id=bhs.id 
WHERE b.accepted=0 
관련 문제