Other Uses of Subqueries
The SQL Standard, effective with SQL:1999, requires increased subquery support, which MySQL provides. The row subqueries alluded to earlier are an example. Thus, it is now possible to compare multiple columns at a time:SELECT ROW ('smith', 'auditor') = (SELECT lname, job FROM clients WHERE clno = 10);The subquery in this example returns a row containing the values
'smith'
and 'auditor'
. When these values are compared
to the ROW
values in the outer query, they are found to be equal
and so the query returns 1 (true).http://download.nust.na/pub6/mysql/tech-resources/articles/4.1/subqueries.html
Example:
SELECT p.ID, p.entity_ID entity_ID,
p.product_type, p.product_name, p.product_keyword,
p.listing_desc,p.product_desc,p.industry_type,p.product_subcategory,
p.brand_name,p.contact_country,p.industry_type, p.product_subcategory,
p.order_unit, p.order_qty_max, p.order_qty_min, p.pref_selling_price,
p.country, p.state,p.product_category,p.Shipping_from,
p.selling_price_max as maxSellingPrice, p.selling_price_min as
minSellingPrice,
ROW ('pref_selling_price', 'order_unit') = (SELECT order_qty_price, pp.order_qty_unit FROM product_price_detail as pp WHERE pp.products_id = 'Prod5d84a4f8af065' LIMIT 1) as compcolum,
AVG(r.rating) as productRating,c.company_name as Title, c.about_company as Description, c.contact_email as Email, c.ID as sellerID, c.company_city, c.countryid FROM product as p LEFT JOIN product_rating as r ON p.ID = r.product_id LEFT JOIN company as c ON p.entity_ID = c.entity_ID LEFT JOIN product_price_detail as ppt ON ppt.products_id = p.ID WHERE p.ID = '[...]
ROW ('pref_selling_price', 'order_unit') = (SELECT order_qty_price, pp.order_qty_unit FROM product_price_detail as pp WHERE pp.products_id = 'Prod5d84a4f8af065' LIMIT 1) as compcolum,
AVG(r.rating) as productRating,c.company_name as Title, c.about_company as Description, c.contact_email as Email, c.ID as sellerID, c.company_city, c.countryid FROM product as p LEFT JOIN product_rating as r ON p.ID = r.product_id LEFT JOIN company as c ON p.entity_ID = c.entity_ID LEFT JOIN product_price_detail as ppt ON ppt.products_id = p.ID WHERE p.ID = '[...]
compcolum : Return 0 if not matches or return 1 if matches
No comments:
Post a Comment