我有結構三個表如何將多個select查詢合併爲一個?
CREATE TABLE IF NOT EXISTS `refrence` (
`products_ref_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`categories_id` int(11) NOT NULL,
`Product_property` varchar(255) NOT NULL,
`Product_reference` varchar(50) NOT NULL,
PRIMARY KEY (`products_ref_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
CREATE TABLE IF NOT EXISTS `product_details` (
`products_id` int(11) NOT NULL AUTO_INCREMENT,
`categories_id` int(11) NOT NULL,
`FieldA` varchar(30) NOT NULL,
`FieldB` varchar(50) NOT NULL,
`FieldC` varchar(255) NOT NULL,
`FieldD` varchar(255) NOT NULL,
`FieldE` varchar(255) NOT NULL,
`FieldF` varchar(255) NOT NULL,
`Field_desc` text NOT NULL,
PRIMARY KEY (`products_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=98 ;
我在這裏對於提取refrence表Product_reference值Product_property & categories_id作爲
SELECT Product_reference FROM refrence where categories_id=3 AND Product_property ='xxx'
現在這個Product_reference在product_details表假設結果字段名是abc。所以我想提取product_details表不同的ABC一樣
SELECT Distinct abc FROM product_details where categories_id=3
現在我想這兩個查詢合併爲一,什麼是單一個寫這些查詢的方式。
我想這
SELECT Distinct (
SELECT Product_reference FROM refrence where categories_id=3 AND Product_property ='xxx'
) as aa FROM product_details where categories_id=3
但其沒有工作,可能是我錯過了一些語法。
「它的位置不工作」 - 你能更具體嗎?什麼是錯誤? – 2012-04-28 13:36:16
categories_id是所有表....我的意思是你使用它作爲外鍵相同嗎? – 2012-04-28 13:43:14
從查看您的查詢,它不是很清楚爲什麼您要搜索'refrence' for records'where categories_id = 3'但是'product_details' for records' where categories_id = 1' - 以及您對您的查詢意圖的解釋做的很難理解。也許你可以澄清? – eggyal 2012-04-28 13:44:45