【问题标题】:Why Select statement returns only 1 column?为什么 Select 语句只返回 1 列?
【发布时间】:2021-03-11 14:52:10
【问题描述】:

我尝试打印 3 列:

  1. Artists.artist
  2. 歌曲.歌曲
  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()

但是输出只返回Artists.artist。

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

如何解决它以使其返回类似

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

【问题讨论】:

    标签: python sql sqlite python-sql


    【解决方案1】:

    看起来这一行将只选择每一行的第一列:

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

    试着把它拿出来看看你是否得到了整行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-06
      • 2010-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多