我在搜索查询时遇到问题。我的结果集列是重复列。我的问题是
SELECT DISTINCT a.*, b.first_name,c.category_name
FROM
songs_upload a
inner join Artist b
on a.title like '%ab%'
and b.first_name like '%chandan%'
inner join Categories c
on c.category_name like '%POP%'
答案 0 :(得分:2)
那是因为你正在做select a.* ...
,其他表(b
和c
)肯定有同名的列。明确指定要从每个表中选择的列,并避免使用select *
,因为这是一种可怕的做法,无论如何。
为什么这是不好的做法?想象一下未来的某个时间表a
将来会添加一个存储大量数据的BLOB列。即使您不需要,您的查询也会最终恢复该列,并且您的查询性能将大幅降低。
您的查询应该是:
select a.colum_I_want,
a.other_column_I_want,
b.first_name,
c.category_name
FROM
songs_upload a
inner join Artist b
on a.title like '%ab%'
and b.first_name like '%chandan%'
inner join Categories c
on c.category_name like '%POP%'