Php 从两个表中获取数据的SQL查询
我现在的代码是Php 从两个表中获取数据的SQL查询,php,mysql,sql,join,Php,Mysql,Sql,Join,我现在的代码是 $extract = mysqli_query($dbc, "SELECT * FROM items"); $numrows = mysqli_num_rows($extract); while($row = mysqli_fetch_assoc($extract)) { $id = $row['i_id']; $iname = $row['i_name']; echo "<tr><td><a href='captur
$extract = mysqli_query($dbc, "SELECT * FROM items");
$numrows = mysqli_num_rows($extract);
while($row = mysqli_fetch_assoc($extract)) {
$id = $row['i_id'];
$iname = $row['i_name'];
echo "<tr><td><a href='capture.php?item_id=$id'>$iname</a></td><td>Incomplete</td></tr>";
}
类似于SELECT*FROM table1,其中table1.id不在SELECT id FROM table2您可以像这样使用连接条件,假设complete是一个varchar字段
SELECT a.i_id, a.i_name,
CASE WHEN i_status = '1' THEN 'Complete!' ELSE 'Incomplete' END AS complete_status
FROM items a
LEFT OUTER JOIN item_collection b ON a.i_id = b.i_id
当项目完成时,假设ic.complete=1。请包括您的数据库结构。您能发布两个表的表结构吗?是的,很抱歉,让我这样做quick@JoshC.,对于给定的项目,项目集合表中是否有多行?是,每个组g\U id将具有单个项目的信息。嗯,可以。这会显示所有的项目吗?因为我最初认为,在echo上使用if语句来查看项目是否完成,然后执行其他操作that@JoshC. 这将返回特定项目的状态,其中i.i\u name=您的项目名称。
Items item_collection
------ ---------------
i_id i_id
i_name complete
caption
image
c_id
g_id
SELECT a.i_id, a.i_name,
CASE WHEN i_status = '1' THEN 'Complete!' ELSE 'Incomplete' END AS complete_status
FROM items a
LEFT OUTER JOIN item_collection b ON a.i_id = b.i_id
select
case
when ic.complete = 1 then 'Complete'
else 'Incomplete'
end as item_status
from items i
left join item_collection ic on i.i_id = ic.i_id
where i.i_name = 'your_item_name'