来自2个表的SQL查询
问题描述:
我得到了2个表格;产品表有这些列:来自2个表的SQL查询
id, name_product, producer_id, number_product
和制片表:
id, producer_name
我必须和产品的名称显示生产商名称,如果生产者没有产品,他应该被忽略。
我尝试这个查询
SELECT producer_name, name_product FROM product, producer WHERE name_product = producer_id
出于某种原因,它的返回空栏,没有错误。
感谢您的任何提示
答
很可能是因为您匹配错误的列。无论何时你说“WHERE”,你通常都会匹配通用数据项。
name_product and producer_id
声音不同
答
您需要join你的表
SELECT
prd.producer_name,
p.name_product
FROM product p
INNER JOIN producer prd ON p.producer_id = prd.id
答
这个怎么样?
SELECT t2.producer_name, t1.name_product FROM product t1
JOIN producer t2
ON t1.id=t2.id
WHERE t1.name_product = t2.producer_id
+1,但OP确实有一个隐式连接,虽然条件不对。 –
不是'SELECT producer_name, name_product'应该是'SELECT prd.producer_name, p.name_product' –
这不行。它会抛出错误的“雄心勃勃的专栏” – Sajmon