在MySQL中进行三表联接

在MySQL中进行三表联接,mysql,Mysql,这是我的桌子 program_join ('program_join_id, member_ID, program_schedule_id'); program_schedule (program_scedule_id, program_id, datetime'); program ('program_id, program_name); 这是我的mysql $mySql = "SELECT program_join.program_join_id,

这是我的桌子

program_join ('program_join_id, member_ID, program_schedule_id');

program_schedule (program_scedule_id, program_id, datetime');

program ('program_id, program_name);
这是我的mysql

$mySql = "SELECT 
            program_join.program_join_id,
            member.member_username, 
            program_join.program_schedule_id

            FROM program_join

                INNER JOIN member ON
                program_join.member_ID=member.member_ID
                ORDER BY program_join_id";


$myQry = mysql_query($mySql, $DB)  or die ("wrong query : ".mysql_error());
$number = $hal; 
while ($myData = mysql_fetch_row($myQry)) {
    $number++;
    $code = $myData[0];
?>
<tr align="center">
    <td><?php echo $number;?></td>
    <td><?php echo  $myData[1];?></td>
    <td><?php echo  $myData[2];?></td>

在“program schedule”下,我想显示我从“program\u join.program\u schedule\u id”中获得的程序名


请帮助我

假设还有一个名为
program\u schedule
的表,我会再添加一个join并获得所需的列,下面是示例查询(使用假定的表/列名):


只需使用连接即可从程序表中获取程序名称:

SELECT 
pj.program_join_id,
m.member_username, 
p.program_name,
ps.datetime

FROM program_join pj
INNER JOIN member m ON pj.member_ID=m.member_ID
INNER JOIN program_schedule ps ON ps.program_schedule_id = pj.program_schedule_id
INNER JOIN program p ON p.program_id = ps.program_id
ORDER BY ... blah blah

那有什么问题?您已经知道如何执行
联接,因为您的查询中已经有一个联接。我想在程序计划下显示程序名,而不是在包含该信息的表中显示IDso联接。。。使用您已经使用过的完全相同类型的连接。由于
限制$hal,$line
@lalala,请不要破坏您的帖子或其他人的帖子。如果你试图撤销一篇已修复的帖子,将会通知版主。版主会收回你的破坏行为,并给你一个暂停,这将阻止你进一步编辑。破坏公物的企图最终是徒劳的。但是我的计划表中没有程序名。你能帮我查一下吗。这是正确的格式吗?@lalala-我不知道你在问什么。这似乎与MySQL无关。//如果复制文件(trim($文件['Filename']['name'])==“”){文件名=$\POST['txtFilename'];}或者{//如果旧的图像文件存在,如果(文件存在(“images1/classes/”$\u POST['txtFilename']){取消链接(“images1/classes/”$\u POST['txtFilename']),将被删除//新图像文件(已添加)$file\u name=$\u FILES['Filename']['name'];$file\u name=stripslashes($file\u name);$file\u name=str\u replace(“'”,“”,$file\u name);$file\u name=$code.”“$file\u name;复制($\u FILES['Filename']['tmp\u name'],“images1/classes/$file\u name.jpg”)}用于更新图像,但它不起作用,你能帮我吗?@lalala-你最好的办法是提出一个新问题,这样你就可以给出一个答案。
SELECT 
            program_join.program_join_id,
            member.member_username, 
            program_join.program_schedule_id,
            program_schedule.program_name

            FROM program_join

                INNER JOIN member ON
                program_join.member_ID=member.member_ID
                JOIN program_schedule on program_schedule.id = program_join.program_schedule_id,
                ORDER BY program_join_id ASC LIMIT $hal, $line";
SELECT 
pj.program_join_id,
m.member_username, 
p.program_name,
ps.datetime

FROM program_join pj
INNER JOIN member m ON pj.member_ID=m.member_ID
INNER JOIN program_schedule ps ON ps.program_schedule_id = pj.program_schedule_id
INNER JOIN program p ON p.program_id = ps.program_id
ORDER BY ... blah blah