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'