基于第二个表中的链接文本字段搜索表

时间:2015-06-16 13:35:32

标签: mysql sql select join

根本不是SQL专家,在这里浏览结果,我无法找到合适的解决方案,尽管问题本身相当简单。

两张桌子:

  • 产品
    • ID
    • 标题
    • ID
    • language_en

products中的条目可能如下所示:

id = 1
title = 10

strings中的相应条目:

id = 10
language_en = "myProduct"

products.title中的数字包含strings中相应条目的ID。

我想在products搜索某个标题,但这些标题存储在strings中(由于多语言容量)。

这就是我提出的:

SELECT p.* FROM products p JOIN strings s ON p.title LIKE s.language_en WHERE s.language_en LIKE "myProduct"

不幸的是,这并没有产生任何正确的结果。显然我无法理解连接背后的概念,但即使阅读一些关于这个概念的文章也不能让我在那里。这不是我的鞋子。

2 个答案:

答案 0 :(得分:1)

在你的sql条件下我认为可能是错的,我修改了那个sql。

select p.* FROM products p JOIN strings s ON p.title = s.id  and   s.language_en = "Product name"

您可以执行并查看结果。

谢谢。

答案 1 :(得分:1)

join错误 - 它将p.titles.language_en进行比较,而不是您描述的s.id应与之匹配。

另请注意,在没有通配符的情况下使用时,like运算符基本上等同于=,如果您直接使用它,它可能会使代码更易于阅读:

SELECT p.* 
FROM   products p 
JOIN   strings s ON p.title = s.id 
WHERE  s.language_en = 'myProduct'