아래의 SQL 쿼리를 참조하십시오. 정상적으로 작동하는 것 같습니다. 우편 번호 나 마을을 통해 기록을 검색 할 수 있습니다.SQL 쿼리를 향상시키는 방법
텍스트 입력란의 우편 번호 나 도시에있는 사용자 유형.
uk_postcodes
테이블의 우편 번호 목록 (BB1, BB2, BB3 등)이 있습니다.
사용자가 BB2 또는 BB2 XXX을 입력하면 BB2 영역에 배달하는 상점 기록 목록이 표시됩니다. Blackburn
에서 사용자 유형은 다음이 기본 배달 지역과 상점의 목록이 표시됩니다 (D.shop_id = S.shop_id AND D.postcode_id = S.postcode_id
)
$SQL = "(SELECT DISTINCT S.*, D.delivery_cost, D.postcode AS DeliveryAreaPostcode FROM shops AS S
JOIN shop_delivery_area AS D ON D.shop_id = S.shop_id
JOIN uk_postcodes AS P ON P.postcode_id = D.postcode_id
WHERE P.postcode = '$search' ORDER BY D.postcode)
UNION
(SELECT DISTINCT S.* , D.delivery_cost, D.postcode AS DeliveryAreaPostcode FROM shops AS S
JOIN shop_delivery_area AS D ON D.shop_id = S.shop_id AND D.postcode_id = S.postcode_id
JOIN uk_postcodes AS P ON P.postcode_id = D.postcode_id
WHERE S.town = '$search')";
인가
(나는 그것이 SQL 쿼리에 들어가기 전에 우편 번호의 첫 번째 부분을 얻기 위해 PHP를 사용) 이 SQL 쿼리는 좋은가요? 또는 무엇을 개선하거나 더 작게 만들 수 있습니까?