안녕하세요, 여러 테이블에서 결과를 검색하는 쿼리를 실행하고 있습니다.중복 MySQL 쿼리 결과 병합/제거
내 쿼리는 "store_orders_items"라는 하나의 테이블에서 주문을 검색하고 "store_orders"라는 다른 고객의 세부 정보를 검색합니다.
그러나 한 고객이 두 주문을하면 쿼리는 고객 ID 번호로 주문을 선택하기 때문에 고객 세부 정보를 두 번 검색합니다.
두 주문에 대한 세부 정보를 얻을 수 있지만 고객 정보는 두 번이나 원하지 않습니다.
모든 주문을 검색하도록 검색어를 조정하고 주문 당 고객 세부 정보 만 수정하려면 어떻게해야합니까?
다음은 지금까지 쿼리 :"SELECT
store_orders.order_name,
store_orders.order_address,
store_orders.id,
store_orders.order_town,
store_orders.order_county,
store_orders.order_postcode,
store_orders.order_country,
store_orders.order_email,
store_orders.item_total,
product.name,
store_orders_items.sel_item_size,
store_orders_items.sel_item_color,
store_orders_items.sel_item_id,
store_orders.order_date,
product.price
FROM
store_orders_items
LEFT JOIN
store_orders
ON
store_orders_items.order_id = store_orders.id
LEFT JOIN
product
ON
store_orders_items.sel_item_id = product.id
WHERE
store_orders_items.order_id=$id "
는 여기에 내가 출력에 사용하고 어떤의 기본 예제/코드 에코 :
while ($order = mysql_fetch_array($store_orders)){
$name = $order["name"] ;
$size = $order["sel_item_size"];
$color = $order["sel_item_color"];
$order_name = $order["order_name"];
$address = $order["order_address"] ;
$town = $order["order_town"] ;
$county = $order["order_county"] ;
$postcode = $order["order_postcode"] ;
$country = $order["order_country"] ;
$email = $order["order_email"] ;
$price = $order["price"];
$date = $order["order_date"];
$item = "<li>{$name}</li>" ;
$item .= "<li>{$color}</li>" ;
$item .= "<li>{$size}</li>" ;
$item .= "<li>{$price}</li>" ;
$item .= "<li>{$date}</li>" ;
$item .= "<li>{$order_name}</li>" ;
$item .= "<li>{$address}</li>" ;
$item .= "<li>{$town}</li>" ;
$item .= "<li>{$county}</li>" ;
$item .= "<li>{$postcode}</li>" ;
$item .= "<li>{$country}</li>" ;
$item .= "<li>{$email}</li>" ;
echo $item ;
}
왜 고객 정보가 한 번만 필요합니까? 첫 번째 줄에서 읽은 다음 이어지는 줄에서 무시하십시오. –