2011-10-24 159 views
1

例如:命名的表products没有在表中的product name场。我想展示一些与已知产品的product name相匹配的相关产品。如何在MySQL编写SQL命令

如何编写SQL查询命令?

例如:如果knowed产品的product name

True Blood Season 1 DVD 

我想所有这一切开始作为True Blood Season产品名称..

如果knowed产品的product name

24 Hours Season 7 DVD 

我想所有这一切开始作为24 Hours Season产品名称..

的SQL:什么错误与SQL

$query ="select p.products_id, pd.products_name, p.products_price 
        from " . TABLE_PRODUCTS . " p " . 
          TABLE_PRODUCTS_DESCRIPTION . " pd 
        where p.products_status = 1 
        and p.products_id = pd.products_id 
        and pd.language_id = '" . (int)$_SESSION['languages_id'] . "' 
        and p.products_id <> :product_id AND MATCH('products_name') AGAINST (:products_name IN NATURAL LANGUAGE MODE); 
+0

[样品代码(http://sscce.org/)(例如表结构作为'CREATE TABLE'语句)和数据,与用于样本数据的所需结果一起,将是最有帮助的。您确定什么是相关的确切标准是什么? – outis

+0

给定产品名称的某些部分。谢谢, – runeveryday

回答

2

我想看看在使用MySQL Full-Text search

这应该能够把你所选择的产品的名称,并用它来检索相关的比赛,如

SELECT * FROM `products` 
WHERE `id` <> :product_id -- don't return current product 
AND MATCH(`product_name`) 
AGAINST (:product_name IN NATURAL LANGUAGE MODE) 

这就需要你在你的products.product_name列创建全文索引。

+0

这是什么意思线AGAINST(:PRODUCT_NAME在自然语言模式) 谢谢 – runeveryday

+0

@runeveryday你看了[手动我挂(http://dev.mysql.com/doc/refman/5.5/en/fulltext -search.html#function_match)?如果你指的是':product_name',那就是一个参数。 – Phil

+0

菲尔,谢谢你,我已经把你的代码在我的SQL命令。但我的IDE显示有错误。如何纠正它,谢谢。我把这个命令放在这个问题上。 – runeveryday

-1
SELECT * FROM products WHERE product_name='title of show here'; 

它是非常基本的SQL,我真的建议发布,因为这问题之前,读了一点非常入门级的。我很乐意帮助你开始虽然:)。

+0

Downvotes不帮助任何人(包括我),除非解释。这里有什么问题? – Whetstone

+0

未标记'PHP'。此外,这不符合问题要求 – Phil

+0

你是对的,编辑,以便它不是PHP。我一直在使用PHP提出的问题,对我而言,感谢指出这一点:)。我以为你只是意味着我寻找了错误的产品,我是有改变,从而提问者会使得在哪里更改标题的时候,帮助将来的学习所发生的连接。 – Whetstone

0

SELECT * FROM产品,其中名称,如 '真爱如血季节%'

SELECT * FROM产品,其中名称,比如'24小时季节%”