根本不是SQL专家,在这里浏览结果,我无法找到合适的解决方案,尽管问题本身相当简单。
两张桌子:
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"
不幸的是,这并没有产生任何正确的结果。显然我无法理解连接背后的概念,但即使阅读一些关于这个概念的文章也不能让我在那里。这不是我的鞋子。
答案 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.title
与s.language_en
进行比较,而不是您描述的s.id
应与之匹配。
另请注意,在没有通配符的情况下使用时,like
运算符基本上等同于=
,如果您直接使用它,它可能会使代码更易于阅读:
SELECT p.*
FROM products p
JOIN strings s ON p.title = s.id
WHERE s.language_en = 'myProduct'