PHP로 검색 상자를 만들고 데이터베이스로 MySQL을 사용하고 있지만 검색 할 때 색상, 제품 및 범주라는 3 개의 테이블이 있으며 모두 ID 번호가 있으며 연결할 수 있습니다. 내부 조인, 왼쪽, 오른쪽, 모든 곳에서 사용할 수 있지만 행운이 없으므로 쿼리가 작동하고 여러 항목이 누출됩니다. 그래서 모든 테이블 필드 이름이 하나로 합쳐져서 그 테이블을 쉽게 쿼리 할 수있는 하나의 테이블에 맞는 시나리오를 만들려고합니다. 나는 테이블을 수동으로 만들었지 만, 3 테이블의 데이터를 주요 테이블로 복사하는 방법이 있습니까? 하나의 테이블 만 처리하는 쿼리 인 경우 별도로 처리하되 상관 없지만 600 + 행이 있으므로 모든 데이터를 수동으로 입력하지 않아도됩니다. 여기 MySQL Merge 3 Tables into 1
내가 현재 사용하려고하는 코드입니다 :SELECT
categories.Product_Type, items_colors.ColourImageurl,
items_list.description, items_list.Description2,
items_list.title, items_list.id, categories.title AS title2,
items_colors.itemID, Colour Name
FROM items_list
LEFT JOIN categories ON categories.Product_Type = items_list.CatID
LEFT JOIN items_colors ON items_list.id = items_colors.itemID
WHERE items_list.visible = 1 AND
Colour Name LIKE '%".$search."%'
카테고리, items_list 모든 하위 카테고리 이름의 목록을 가지고 당신이 선택하는 제품의 유형을 정의하고 item_colors 모든 목록이 있습니다 items_list 제품에 링크되는 색상 이름. 이 쿼리를 사용하면 하나의 항목에 대해 4 개의 복사본이 출력되며 이유는 확실하지 않습니다.
예를하시기 바랍니다 사용. – Flukey
UNION을 살펴 봐야합니다. 그것이 여기서 도움이되는 것입니다. http://dev.mysql.com/doc/refman/5.0/en/union.html –
@Flukey 여기에 내가 사용하려고 시도하는 코드가 있지만 동일한 항목의 복사본이 적어도 4 번 표시됩니다. 카테고리 선택. 제품 유형, 항목 _ 색상. 색상 정보 항목, 항목 _ 목록, 항목 _ 목록. 설명 2, 항목 _ 목록. 제목, 항목 _ 목록 .id, 카테고리. 제목 AS 제목 2, 항목 _ 색상. 항목 ID, 색상 이름 발신 항목 _ 목록 LEFT JOIN categories on categories. Product_Type = items_list.CatID LEFT JOIN items_colors ON items_list.id = items_colors.itemID WHERE items_list.visible = 1 AND'Color Name' LIKE '% ". $ 검색."% "" – Alex