请任何人都可以帮助我,我熟悉PHP,但我不擅长。请帮忙。我有两个表,两个都有id
,见示例,
表1
----------------------------------
**ID** | **NAME** | **AGE** |
----------------------------------
001 | john | 21 |
----------------------------------
002 | erik | 18 |
----------------------------------
003 | ella | 19 |
----------------------------------
and soon...
表2
----------------------------------
**ID** | **SUBJECT** | **GRADE** |
----------------------------------
001 | math | 80 |
----------------------------------
003 | english | 83 |
----------------------------------
and soon....
这是问题所在,我只是想从table1中选择一行,而id
在table2中不匹配。
我使用了这个条件,但它不会像我预期的那样工作,这意味着这是错误的,
if($t1_id!=$t2_id){
blah blah blah...
}
else
{
all data is match!
}
当table2中的id
与table1匹配时,即使表2中只有一个条目,它也已显示我的data is all match
。
请帮帮我。如果你不明白我如何展示我的问题,请告诉我,谢谢!。
答案 0 :(得分:0)
您可以使用exists
子句检查另一个表中是否存在记录,例如
select *
from table1 t1
where t1.id = ?
and exists(
select *
from table2 t2
where t2.id = t1.id;
);
答案 1 :(得分:0)
这两个解决方案适用于sqlserver:
解决方案1:
SELECT
t1.ID, t1.NAME, t1.AGE
FROM
table1 t1
LEFT JOIN
table2 t2
ON t1.ID = t2.ID
WHERE t2.ID is null
解决方案2:
SELECT
ID, NAME, AGE
FROM
table1 t1
WHERE NOT EXISTS(SELECT * FROM table2 WHERE t1.ID = ID)