为什么以下sql查询不会返回名为 comments 的第二个表的所有列,而只返回 wp_users 表的ID列?
SELECT ID FROM wp_users
INNER JOIN (select * from wp_comments) as comments
ON ID = comments.user_id
WHERE comments.comment_type = 'user_course'
如果我将查询更改为以下语句,它应该是正常的,这意味着第1和第2表的所有列当然都符合WHERE标准。
SELECT * FROM wp_users
INNER JOIN (select * from wp_comments) as comments
ON ID = comments.user_id
WHERE comments.comment_type = 'user_course'
答案 0 :(得分:-1)
您的查询无效。您在INNER JOIN
内创建了额外的选择,以创建新的临时表。然后你用这个表连接。此临时表中的字段不会自动选择到查询结果中。您应指定要选择的字段集。因此,您可以直接与wp_comments
表联接,并将此表中的所有字段添加到使用c.*
设置的结果字段中。所有查询都应该是这样的:
SELECT w.id, c.*
FROM wp_users w
INNER JOIN wp_comments c on c.user_id = w.ID
and c.comment_type = 'user_course'