如何在SQL中输入这2个表,表a和表b。SQL表连接
table a:
+----+-------+--------+--------+
| id | name | data1 | data2 |
+----+-------+--------+--------+
table b:
+----+------------+-------+--------+--------+
| id | member_id | a_id | data1 | data2 |
+----+------------+-------+--------+--------+
所以我想从表中所有的值。 我也想从B表数据2和value = true
其中a.id = b.a_id.
如果从表中的数据并没有从表B值,其中a.id = b.a_id, data2 = 0, value = false.
如果这可能发生的所有使用SQL,这将是巨大的,但如果没有至少告诉你如何使用PHP或codeigniter解决问题,或者只是发布你的概念/算法。先谢谢你。
编辑2:
好吧,我明白了。感谢下面谁分享了他们的想法。他们帮助了很多:
型号:
function getData2(){
$id = $this->uri->segment(3);
$this->db->select("t.*, mt.mid as mid, mt.amt as mtamt");
$this->db->from("transaction as t");
$this->db->join("mtrans as mt", "mt.tid = t.id and mt.mid = '$id'", "left outer");
$query = $this->db->get();
$data['info2'] = $query->result_array();
return $data;
}
观点:
<?php foreach ($info2["info2"] as $record) { ?>
<tr>
<td><?php echo $record["id"]; ?></td>
<td><?php echo $record["name"]; ?></td>
<td><?php echo $record["type"]; ?></td>
<td><?php echo $record["amt"]; ?></td>
<?php foreach ($info1["info1"] as $stat) {
if($record["mid"] == $this->uri->segment(3)){?>
<td><?php echo $stat["mtamt"]; ?></td>
<td><?php echo $stat["user"]; ?></td>
<td><?php
if(!$stat["mtamt"]){
echo "Unpaid";
}
if($stat["mtamt"] < $record["amt"]){
echo "Partial";
}
if($stat["mtamt"] == $record["amt"]){
echo "Paid";
}
?></td>
<?php } } ?>
</tr>
<?php } ?>
你不需要算法,只是学习的查询语句如选择,加盟,联合等.. – user1844933
你们怎么做那灰暗的东西?我在这里是新的 – SidlakMonster
虽然我没有太多时间了解这一点。我仍然有东西要学习和做。也许在这个项目之后。 – SidlakMonster