我有两个表,第一个表包含类别列表,第二个表包含配置文件信息以及第一个表类别id作为外键。如下
表1
id CATEGORY
1 first
2 second
表2
id CATEGORY name phone
1 2 John 9999999999
如何检索表2记录以及类别名称(不是id:2,如表2所示)
我试过了,
SELECT category, name, phone FROM table2;
我需要看到以下行作为结果
second, john, 9999999999
让我离开这一步,先谢谢。
答案 0 :(得分:1)
这应该有效:
SELECT t1.category, t2.name, t2.phone
FROM table2 AS t2
JOIN table1 AS t1
ON t1.id = t2.category
答案 1 :(得分:1)
您需要的是JOIN
,这意味着您可以根据某些标准将一个表中的行与另一个表中的行相关联,从而“合并”两个表。
在您的情况下,标准是CATEGORY
中table2
的值必须等于ID
中table1
的值,表示如下:
SELECT table1.category,
table2.name,
table2.phone
FROM table2
JOIN table1
ON table2.category = table1.id
如果需要,您可以添加WHERE
子句以将结果限制为特定行,例如WHERE table1.id = 9999999999
会过滤类别为9999999999的行。
答案 2 :(得分:0)
您可以进行INNER JOIN并从表1中获取类别,如下所示:
SELECT tb1.category, tb2.name, tb2.phone
FROM table2 tb2
INNER JOIN table1 tb1 on tb2.category = tb1.id
WHERE tb2.id = 1;
希望它有所帮助!