简体   繁体   English

根据另一个MySQL表中的信息显示一个表的结果

[英]Show result from one table depending on info from another MySQL table

I've been trying to solve this for a long time now, I give up. 我一直试图解决这个问题很长一段时间,我放弃了。 I'm getting info from one table, no problem. 我从一张桌子上获取信息,没问题。 But I need to exclude some results depending on info from another table. 但我需要根据另一个表中的信息排除一些结果。


querylist

id | artist         | title 
1  | Kelly Clarkson | Catch My Breath
2  | Nicki Minaj    | Va Va Voom
3  | Jingle         | Jingle100

songlist

id | artist         | title           | songtype
1  | Kelly Clarkson | Catch My Breath | S
2  | Nicki Minaj    | Va Va Voom      | S
3  | Jingle         | Jingle100       | I

When I get my result from querylist table I want to exclude all songs that do NOT have songtype S from songlist table. 当我从querylist表中得到我的结果时,我想从songlist表中排除所有没有songtype S的歌曲。

I have this, how do I get songs ONLY with songtype S? 我有这个,我怎么只用歌曲S来获得歌曲?

$result = mysql_query("SELECT * FROM queuelist q LEFT JOIN requestlist r ON q.requestid = r.id LEFT JOIN songlist s ON q.songid = s.id ORDER BY q.sortID ASC LIMIT 5 ",$dbcon);

 echo "<table>\n";
 if ($myrow = mysql_fetch_array($result)){
    do{
      $artist = $myrow["artist"]; 
      $title = $myrow["title"];
      echo "<tr><td>$artist - $title</td>";
      echo "</tr>\n";

   }while($myrow = mysql_fetch_array($result));
 }
echo "</table>";

Just to be clear: Adding: WHERE s.songtype='S' 只是要明确:添加:WHERE s.songtype ='S'

SELECT * FROM queuelist q 
LEFT JOIN requestlist r ON q.requestid = r.id 
LEFT JOIN songlist s ON q.songid = s.id  
WHERE s.songtype='S' 
ORDER BY q.sortID ASC LIMIT 5

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM