Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要帮助Mysql查询吗_Mysql - Fatal编程技术网

需要帮助Mysql查询吗

需要帮助Mysql查询吗,mysql,Mysql,我试图实现在数据库中显示字段 基本上目前我有 'SELECT historylist.artist, historylist.ID, artistlist.lyrics, artistlist.ID FROM historylist INNER JOIN artistlist ON historylist.ID = artistlist.ID ORDER BY historylist.date_played DESC LIMIT 1;' 这是不对的。我需要使用历史记录

我试图实现在数据库中显示字段

基本上目前我有

'SELECT
 historylist.artist,
 historylist.ID,
 artistlist.lyrics,
 artistlist.ID
FROM historylist
 INNER JOIN artistlist
  ON historylist.ID = artistlist.ID
 ORDER BY historylist.date_played DESC
LIMIT 1;'     
这是不对的。我需要使用历史记录列表ID链接artistlist ID。然后抓取artistlist.Lyps字段。然后显示它。现在,当我这样做时,它会显示歌词字段,但它是空的。所以我猜它的搜索历史列表表

  CREATE TABLE `historylist` (
 `ID` int(11) NOT NULL AUTO_INCREMENT,
 `songID` int(11) NOT NULL DEFAULT '0',
   `filename` varchar(255) NOT NULL DEFAULT '',
   `date_played` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
   `duration` int(11) NOT NULL DEFAULT '0',
   `artist` varchar(255) NOT NULL DEFAULT '',
   `title` varchar(255) NOT NULL DEFAULT '',
   `album` varchar(255) NOT NULL DEFAULT '',
   `albumyear` varchar(4) NOT NULL DEFAULT '',
   `website` varchar(255) NOT NULL DEFAULT '',
   `buycd` varchar(255) NOT NULL DEFAULT '',
   `picture` varchar(255) NOT NULL DEFAULT '',
   `listeners` mediumint(9) NOT NULL DEFAULT '0',
   `label` varchar(100) NOT NULL DEFAULT '',
   `pline` varchar(50) NOT NULL DEFAULT '',
   `trackno` int(11) NOT NULL DEFAULT '0',
   `composer` varchar(100) NOT NULL DEFAULT '',
   `ISRC` varchar(50) NOT NULL DEFAULT '',
   `catalog` varchar(50) NOT NULL DEFAULT '',
   `UPC` varchar(50) NOT NULL DEFAULT '',
   `feeagency` varchar(20) NOT NULL DEFAULT '',

   PRIMARY KEY (`ID`),
   KEY `date_played` (`date_played`)
 ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
上面的代码是historylist表

  CREATE TABLE `historylist` (
 `ID` int(11) NOT NULL AUTO_INCREMENT,
 `songID` int(11) NOT NULL DEFAULT '0',
   `filename` varchar(255) NOT NULL DEFAULT '',
   `date_played` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
   `duration` int(11) NOT NULL DEFAULT '0',
   `artist` varchar(255) NOT NULL DEFAULT '',
   `title` varchar(255) NOT NULL DEFAULT '',
   `album` varchar(255) NOT NULL DEFAULT '',
   `albumyear` varchar(4) NOT NULL DEFAULT '',
   `website` varchar(255) NOT NULL DEFAULT '',
   `buycd` varchar(255) NOT NULL DEFAULT '',
   `picture` varchar(255) NOT NULL DEFAULT '',
   `listeners` mediumint(9) NOT NULL DEFAULT '0',
   `label` varchar(100) NOT NULL DEFAULT '',
   `pline` varchar(50) NOT NULL DEFAULT '',
   `trackno` int(11) NOT NULL DEFAULT '0',
   `composer` varchar(100) NOT NULL DEFAULT '',
   `ISRC` varchar(50) NOT NULL DEFAULT '',
   `catalog` varchar(50) NOT NULL DEFAULT '',
   `UPC` varchar(50) NOT NULL DEFAULT '',
   `feeagency` varchar(20) NOT NULL DEFAULT '',

   PRIMARY KEY (`ID`),
   KEY `date_played` (`date_played`)
 ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
这个是

  CREATE TABLE IF NOT EXISTS `artistlist` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `filename` varchar(255) NOT NULL DEFAULT '',
  `diskID` int(11) NOT NULL DEFAULT '0',
  `flags` varchar(10) NOT NULL DEFAULT 'NNNNNNNNNN',
  `songtype` char(1) NOT NULL DEFAULT 'S',
  `status` tinyint(4) NOT NULL DEFAULT '0',
  `weight` double NOT NULL DEFAULT '50',
  `balance` double NOT NULL DEFAULT '0',
  `date_added` datetime DEFAULT NULL,
  `date_played` datetime DEFAULT NULL,
  `date_artist_played` datetime DEFAULT '2002-01-01 00:00:01',
  `date_album_played` datetime DEFAULT '2002-01-01 00:00:01',
  `date_title_played` datetime DEFAULT '2002-01-01 00:00:01',
  `duration` int(11) NOT NULL DEFAULT '0',
  `artist` varchar(255) NOT NULL DEFAULT '',
  `title` varchar(255) NOT NULL DEFAULT '',
   `album` varchar(255) NOT NULL DEFAULT '',
  `label` varchar(255) NOT NULL DEFAULT '',
 `pline` varchar(50) NOT NULL DEFAULT '',
  `trackno` int(11) NOT NULL DEFAULT '0',
  `composer` varchar(100) NOT NULL DEFAULT '',
  `ISRC` varchar(50) NOT NULL DEFAULT '',
  `catalog` varchar(50) NOT NULL DEFAULT '',
   `UPC` varchar(50) NOT NULL DEFAULT '',
  `feeagency` varchar(20) NOT NULL DEFAULT '',
  `albumyear` varchar(4) NOT NULL DEFAULT '0',
  `genre` varchar(20) NOT NULL DEFAULT '',
  `website` varchar(255) NOT NULL DEFAULT '',
  `buycd` varchar(255) NOT NULL DEFAULT '',
   `info` text,
   `lyrics` text,
   `picture` varchar(255) NOT NULL DEFAULT '',
   `count_played` mediumint(9) NOT NULL DEFAULT '0',
   `count_requested` mediumint(9) NOT NULL DEFAULT '0',

    PRIMARY KEY (`ID`),
     UNIQUE KEY `filename` (`filename`),
      KEY `date_played` (`date_played`),
     KEY `date_artist_played` (`date_artist_played`),
    KEY `date_album_played` (`date_album_played`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=347 ;
现在基本上每首歌我都可以显示调用历史列表的数据。但我需要使用历史列表id来显示它。然后连接到artistlist id,这样它就会拉入歌词字段


希望对您有更多帮助

您的加入条件似乎不正确

ON historylist.ID = artistlist.ID
如果这是工作,两个表必须有1-1关系。看看你的桌子结构,我想应该是正确的

ON historylist.artist = artistlist.artist

我不确定你的意思,我猜它正在搜索historylist表,但是你的连接看起来不错。你确定artistlist.ID中也有historylist.ID吗?你能发布两个表结构吗?我需要它只显示一个结果。显示当前正在显示的艺术家的歌词。在historylist.ID=artistlist.ID上,这看起来不正确,除非表具有1-1关系。它可能位于historylist.ID=artistlist.historylistID或historylist.artistlistID=artistlist.ID上。然后,您需要将当前艺术家置于条件中,这两个表之间必须存在关系,并且必须使用该链接列进行连接,其他明智的连接将不起作用。它们是相关的。艺术家将歌曲的所有数据存储在数据库中。历史列表显示最近播放的内容。文件名如何?这是两个表中的内容是的,它通过historylist.filename=artistfilename加入了他们,现在它显示:谢谢你引导我找到答案