试试这个:
SELECT table_1.name, table_1.email, table_2.address, table_2.street
FROM table_1
JOIN table_2
ON table_1.c_id = table_2.c_id
GROUP BY table_1.c_id
SQLfiddle demo
The GROUP BY
将决定您想使用哪个列来对结果进行分组。 B.T.W.如果您喜欢更改列头,您可以添加AS
,后跟列头名称(table_1.name AS "First name"
)。
表结构和样本数据:
CREATE TABLE table_1
(`c_id` int, `name` varchar(3), `email` varchar(7))
;
INSERT INTO table_1
(`c_id`, `name`, `email`)
VALUES
(1, 'tom', '[email protected]')
;
CREATE TABLE table_2
(`a_id` int, `c_id` int, `address` int, `street` varchar(4))
;
INSERT INTO table_2
(`a_id`, `c_id`, `address`, `street`)
VALUES
(1, 1, 67, 'home'),
(2, 1, 68, 'main')
;
如果你喜欢SQL查询限制在特定的人说,汤姆WHERE table_1.name LIKE 'Tom'
。像这样:
SELECT table_1.name, table_1.email, table_2.address, table_2.street
FROM table_1
JOIN table_2
ON table_1.c_id = table_2.c_id
WHERE table_1.name LIKE 'Tom'
GROUP BY table_1.c_id;
您还可以使用=
但喜欢,你可以使用通配符像T%
什么意思是“只有一个记录”。如何确定哪些应该退回? – Flixer