我在phpmyadmin中有两个不同的表。一个是tbl_user
,另一个是donate
。
现在,我要从donation_date
中获取列tbl_user
,并从donate
表中获取所有列。我想加入donation_date
表中的一列(tbl_user
)和donate
表中的所有cloumns,但不知道如何编写查询。
在下面的代码中,我刚刚编写了donate
表的查询,因此如何从donation_date
中加入tbl_user
。
这是我在phpmyadmin中的两个表的详细信息。
tbl_user
表:
donate
表:
$db = new PDO('mysql:host=localhost;dbname=mypro_bms','root','');
$statement = $db->prepare(
"insert into donate(passport_ic,blood_group,blood_bag,)
values(:passport_ic, :blood_group, :blood_bag)"
);
答案 0 :(得分:1)
我想从
donation_date
中获取tbl_user
列,并从donate
表中获取所有列。
您是否正在寻找...表JOIN
和tbl_user
之间的简单donate
?
从您的模式图像来看,好像列passport_IPC
可用于联接表。然后,您可以在SELECT
子句中选择要返回的列:
SELECT u.donation_date, d.*
FROM tbl_user u
INNER JOIN donate d ON d.passport_IPC = u.passport_IPC
答案 1 :(得分:0)
看起来Passport_IC是两个表之间的公共列?
您确实应该使用数字索引列。但是,由于您的数据库很小,因此应该可以:
SELECT d.*, u.donation_date
FROM donate d
INNER JOIN tbl_user u ON u.Passport_IC = d.Passport_IC
编辑:您也应该给tbl_user表一个主键。查看数据库规范化:https://en.wikipedia.org/wiki/Database_normalization
答案 2 :(得分:0)
如您所说,您希望从tbl_user获取列donation_date,因此您将仅选择列tbl_user.donation_date
并使用以下别名donation_date
并从捐赠表中获取所有列,您可以使用这个技巧donate.*
,它会获得所有列
SELECT
donate.* , tbl_user.donation_date as donation_date
FROM
tbl_user
JOIN
donate ON donate.passport_IPC = tbl_user.passport_IPC