이 사이트는 전자 상거래 사이트와 비슷하며 두 테이블이 있습니다.합류 한 다른 테이블에 많은 레코드가있는 경우 하나의 레코드가있는 테이블 레코드를 표시하는 방법
tbl_products
---------------
phash
product
price
desc
maxcount
tbl_product_images
-------------------
phash
thumb
large
tbl_products은 제품 정보를 저장 tbl_product_images 엄지와 EAC 제품의 큰 이미지의 경로를 기억한다.
phash는 제품 이름의 md5입니다. 그 제품을 일치시킬 때 ID 또는 제품 이름 대신 사용합니다.
나는 tbl_products가 제품에 대한 하나의 레코드를 가지고 있고 그 제품과 관련하여 tbl_product_images 에 5 개의 행이 있다고 말합니다.
어떻게하면 쿼리를 실행할 수 있습니까?
$sql = "select
tbl_products.phash
tbl_products.product
tbl_products.price
tbl_products.desc
tbl_products.maxcount
tbl_product_images.phash
tbl_product_images.thumb
tbl_product_images.large
from tbl_products
inner join tbl_product_images
on tbl_products.phash = tbl_products_images.phash";
tbl_product_images에는 5 개의 레코드가 있기 때문에 5 행의 레코드가 표시됩니다.
방식 I 출력 내가 당신이 내가 알려 주시기 바랍니다 설명하기 위해 노력하고있어 더 많은 설명을 필요로하는 경우,이 작업을 수행하는거야 방법을 정말 확실하지 오전 내 전통적인 방법
$query = $db->query("$sql");
while($row = $db->fetch($query))
{
....
}
입니다.
select
tbl_products.phash
tbl_products.product
tbl_products.price
tbl_products.desc
tbl_products.maxcount
tbl_product_images.phash
tbl_product_images.thumb
tbl_product_images.large
from tbl_products
inner join (SELECT * FROM tbl_product_images LIMIT 1) images
on tbl_products.phash = images.phash
당신은 추가 할 수 있습니다 : 당신이 각 제품에 대해 반환되는 이미지를 상관하지 않는 경우 그에만 해당 비록 - 감사합니다
은
출력을 위해 무엇을 기대합니까? TBL_PRODUCT_IMAGES에서 복제본을 얻고 있습니다 –