我有一個選擇查詢作爲使用多個左連接從不同的表中獲取產品細節是否是一種好的做法?
SELECT tbl_product.prod_id,tbl_product.manuf_id, tbl_product.cat_type_id, tbl_product.cat_id, tbl_product.prod_mpn,
tbl_product.prod_name, tbl_product.prod_model, tbl_product.prod_retail_price, tbl_product.prod_purchase_price, tbl_product.prod_sp_offer_price, tbl_product.prod_stock_qty, tbl_product.prod_ships_in,
tbl_product.prod_rating, tbl_product.prod_preorder, tbl_category_types.cat_type_name, tbl_category_types.cat_type_seo_name, tbl_category.cat_name, tbl_category.cat_seo_name, tbl_product_images.prod_image, tbl_product_details.prod_short_desc, tbl_product_details.prod_long_desc, tbl_product_seo.prod_seo_title, tbl_product_seo.prod_seo_keywords,tbl_product_details.prod_rel_keywords,tbl_product_seo.prod_seo_desc, tbl_product.network_id, tbl_network.network, tbl_network.network_seo_name, tbl_manufacturer.manuf_id, tbl_manufacturer.manuf_name, tbl_manufacturer.manuf_seo_name, tbl_product.prod_preorder_text
FROM tbl_product
LEFT JOIN
tbl_category_types ON tbl_category_types.cat_type_id = tbl_product.cat_type_id
LEFT JOIN
tbl_category ON tbl_category.cat_id = tbl_product.cat_id
LEFT JOIN
tbl_product_images ON tbl_product_images.prod_id = tbl_product.prod_id
LEFT JOIN
tbl_product_details ON tbl_product_details.prod_id=tbl_product.prod_id
LEFT JOIN
tbl_product_seo ON tbl_product_seo.prod_id = tbl_product.prod_id
LEFT JOIN
tbl_network ON tbl_network.network_id = tbl_product.network_id
LEFT JOIN
tbl_manufacturer ON tbl_manufacturer.manuf_id = tbl_product.manuf_id
WHERE
tbl_product.lang_id = '".$_SESSION["lang_id"]."' AND
tbl_product.is_comp_phone = 0 AND
tbl_product.prod_id = '".$product_id."' AND
tbl_product_seo.lang_id = '".$_SESSION["lang_id"]."' AND
tbl_product_seo.dom_id = '".$_SESSION["domain_id"]."' AND
tbl_product_details.lang_id = '".$_SESSION["lang_id"]."' AND
tbl_product_details.dom_id = '".$_SESSION["domain_id"]."'
LIMIT 1";
我需要使用此查詢來獲取產品的詳細信息,在這種方式很好用繼續嗎? 或更好的選擇是可能的?
你知道,一切都在一個數據庫管理系統是一個表或視圖,因此「 tbl_'的前綴很不實際?它不傳遞任何有用的信息,並混亂名稱。同樣,你的SQL可以通過精心選擇的表別名(短名稱)而不是全名來更易讀。 – 2010-11-18 16:11:38