명시 적 JOIN
의 작성 쿼리 :
SELECT c.customers_id, c.customers_firstname, c.customers_lastname,
c.customers_email_address, c.customers_telephone, a.entry_street_address,
a.entry_city, a.entry_state, a.entry_country_id, n.countries_name,
a.entry_zone_id, a.entry_postcode, r.referrer_customers_id,
r.referrer_key, r.referrer_homepage, r.referrer_approved,
r.referrer_banned, r.referrer_commission
FROM customers AS c
JOIN referrers AS r ON (c.customers_id = r.referrer_customers_id)
JOIN address_book AS a ON (a.address_book_id = c.customers_default_address_id)
JOIN countries AS n ON (a.entry_country_id = n.countries_id)
LEFT JOIN {zones table name} AS z ON (z.{zones id column name} = a.entry_zone_id)
ORDER BY c.customers_lastname
: 당신이 일치가 존재하는 경우도 영역 테이블에서 정보를 얻고 싶다면
SELECT c.customers_id, c.customers_firstname, c.customers_lastname,
c.customers_email_address, c.customers_telephone, a.entry_street_address,
a.entry_city, a.entry_state, a.entry_country_id, n.countries_name,
a.entry_zone_id, a.entry_postcode, r.referrer_customers_id,
r.referrer_key, r.referrer_homepage, r.referrer_approved,
r.referrer_banned, r.referrer_commission
FROM customers AS c
JOIN referrers AS r ON (c.customers_id = r.referrer_customers_id)
JOIN address_book AS a ON (a.address_book_id = c.customers_default_address_id)
JOIN countries AS n ON (a.entry_country_id = n.countries_id)
ORDER BY c.customers_lastname
것은이 같은 LEFT JOIN
을 추가해야합니다
또한 선택하려는 열을 쿼리의 맨 위에 추가하십시오. LEFT JOIN
은 항상 왼쪽 표 (첫 번째 열)에 결과를 반환하고 오른쪽 표에 일치 항목이없는 경우 오른쪽 표의 열에 대해 NULL
을 반환합니다.
아마도 실제로 읽을 수 있도록 해당 쿼리를 다시 포맷 할 수 있습니까? 어쩌면 502 번 선인지 알 수 있을까요? 어쩌면'echo' 대신에'var_dump()'를 시도해 보시겠습니까? – Sammitch
전체 질문을 모두 변경했지만 var_dump 메서드도 시도해 보겠습니다. –