我想做一个简单的查询,如:
SELECT * FROM comments AND name WHERE id = 1 OR name = '1'
我希望它返回包含id = 1
或name = 1
或两者的每一行。
如何做到这一点?
答案 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'