如何查询几个sql列

时间:2014-10-21 20:57:11

标签: php sql

我想做一个简单的查询,如:

SELECT * FROM comments AND name WHERE id = 1 OR name = '1'

我希望它返回包含id = 1name = 1或两者的每一行。

如何做到这一点?

3 个答案:

答案 0 :(得分:0)

如果您从单个表中查询,则语法为 -

SELECT * 
FROM `table`
WHERE `id` = 1 OR `name` = 'one'

要加入两个表

SELECT `name`.`name`, `comments`.`comment`
FROM `name`
LEFT JOIN `comments`
ON `name`.`id` = `comments`.`id`
WHERE `name`.`name` = 'pihh'

名称和评论将加入一些常见列,在这种情况下,我使用了id

答案 1 :(得分:0)

在查询多个表格时(正如您在评论中提到的那样),在应用JOIN条件之前,您需要WHERE个。

对于您的查询,需要有一个链接表的主/外键;我假设name_id表中有一个comments或类似的外键,告诉你谁发表了评论。

因此,您的查询需要更像

SELECT *
FROM comments INNER JOIN [name_table] ON comments.name_id = [name_table].name_id
WHERE id = 1 OR name = '1'

您必须根据需要替换表和字段名称。

答案 2 :(得分:0)

我假设您在注释和名称之间使用了AND,因为您有两个名为comments和name的表。我也改名为name ='1'到name ='name'bcoz它更有意义。

 SELECT * FROM comments.id 
 LEFT JOIN name ON comment.id = name.id 
 WHERE comment.id = 1 
 OR name.name = 'name'