为什么Select语句returns只有1列?

Why Select statement returns only 1 column?

我尝试打印 3 列:

  1. Artists.artist
  2. Songs.Song
  3. Songs.views

这是我的代码:

conn = sqlite3.connect('utube.db')

conn.row_factory = lambda cursor, row: row[0]

c = conn.cursor()

c.execute("""Select Artists.artist, Songs.Song ,Songs.views FROM Songs 
          INNER JOIN Artists
          ON Artists.Artist_Id = Songs.Artist_Id
          """)

allsong = c.fetchall()

a = allsong        
print(a)
         
conn.commit()
conn.close()

但是输出returns只有Artists.artist.

['Blackpink', 'Blackpink', 'Lady gaga', 'Lady gaga', 'Lady gaga', 'The Beatles', 'The Beatles', 'Metallica', 'Frank Sinatra', 'Frank Ocean']

如何解决这个问题以使其 returns 类似于

[['Blackpink',?,?],['Blackpink',?,?],['Lady Gaga' ,?,?]........]

看起来这一行将 select 只有每一行的第一列:

 conn.row_factory = lambda cursor, row: row[0]

试着把它拿出来,看看你能不能得到整行。