繁体   English   中英

从MySQL第二个表行获取记录

[英]Getting record from second table row in mysql

我有2个具有相同字段名称的表,我想显示两个字段列中的记录。

Table_a
    id date          user    test
    1   2013-08-08   Adam    Various    
    2   2013-08-08   Paul    Record

    Table_b

      id date          user    test
        1   2013-08-08   Adam    Record    
        2   2013-08-08   Paul    Mytest


    $sql = "Select Table_a.date, Table_a.user, Table_a.test, Table_b.date, Table_b.user, Table_b.test FROM table_a, Table_b where Table_a.user like table_b AND table_a.Date = table_b.date AND table_b.Date = '".date("Y-m-d", strtotime("today"))."'";
    $result = mysql_query($sql);
    $row = mysql_fetch_assoc($result); 


 echo "<p'><b>" . $row['user'] . "</b></p>";
 echo "<p><b>". $row['test'] ."</b></p>";
 echo "<p><b>". $row['test'] ."</b></p>";

我希望结果是例如Adam -various -record。也就是说,我想要第三个回声"<p><b>". $row['test'] ."</b></p>"; "<p><b>". $row['test'] ."</b></p>"; 显示来自table_b的记录。

谢谢

您可以使用SQL别名

SELECT column_name AS alias_name

代码示例

$sql = "SELECT Table_a.date AS tableA_date, 
               Table_a.user AS tableA_user,
               Table_a.test AS tableA_test,
               Table_b.date AS tableB_date,
               Table_b.user AS tableB_user, 
               Table_b.test AS tableB_test
        FROM Table_a AS tableA,
             Table_b AS tableB
        WHERE tableA_user
        LIKE tableB 
        AND tableA_date = tableB_date
        AND tableD_date = '".date("Y-m-d", strtotime("today"))."'";

尝试这个:

$sql = "Select
              a.date as adate,
              a.user as auser,
              a.test as atest,
              b.date as bdate,
              b.user as buser,
              b.test as btest
        FROM table_a a, Table_b b
        where 
              a.user like b.user
              AND a.Date = b.date
              AND b.Date = '".date("Y-m-d", strtotime("today"))."'";
echo "<p'><b>" . $row['auser'] . "</b></p>";
echo "<p><b>". $row['atest'] ."</b></p>";
echo "<p><b>". $row['btest'] ."</b></p>";

请注意,我写了a.user like b.user a.user like b是错误的。

用户下面的查询

Select table_a.user,table_a.test,table_b.test FROM table_a left join table_b on
table_a.user=table_b.user where table_a.Date = table_b.date AND table_b.Date = curdate()

它会返回如下结果

在此处输入图片说明

认为它将解决您的问题。

暂无
暂无

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

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