Mysql 如何将多个select查询合并为一个查询?

Mysql 如何将多个select查询合并为一个查询?,mysql,Mysql,我有三张有结构的桌子 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

我有三张有结构的桌子

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 ;
这里,我从参考表中提取关于产品属性和类别id的产品参考值

SELECT Product_reference FROM refrence where categories_id=3 AND Product_property ='xxx'
现在,这个Product\u引用是Product\u 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

但它不起作用,可能是我缺少了一些语法。

在不知道什么不起作用的情况下,您似乎正在尝试实现以下目标:

SELECT r.product_reference
FROM refrence AS r 
LEFT JOIN categories AS c ON (c.categories_id = r.categories_id AND r.categories_id=3 AND     r.product_property='zzz')
WHERE c.categories_id=1
正如Eggyal所指出的,由于category_id=1和category_id=3的不可能条件,这将始终不返回任何内容,因此: 它们都必须是1或都必须是3 或
它们是完全不同的“类别”,不相关,或者只是碰巧有相同的名称。

“有点不起作用”-你能更具体一点吗?错误是什么?categories\u id对所有表都是一样的…我的意思是您是否将其用作外键?从您的查询来看,不太清楚为什么要搜索
reference
记录
where categories\u id=3
而搜索
product\u details
记录
where categories\u id=1
——您对查询目的的解释很难理解。也许您可以澄清一下?@RohitkumarChoudhary yes categories\u id是外键。由于已加入表的
categories\u id
上的筛选器冲突,它总是会返回空记录集。哎呀……真是太好了……在我的编辑器中剪切/粘贴太快,而没有尝试足够的数据。