[英]mysql, joining 2 tables, and checking for 2 conditions
的MySQL
表格1:
+--------+------+
| listid | type |
+--------+------+
| 1 | a |
+--------+------+
| 2 | a |
+--------+------+
| 3 | b |
+--------+------+
表2:
+----+--------+------+
| id | listid | code |
+----+--------+------+
| 1 | 1 | ax |
+----+--------+------+
| 2 | 1 | bx |
+----+--------+------+
| 3 | 2 | ax |
+----+--------+------+
| 4 | 2 | bx |
+----+--------+------+
| 5 | 2 | cx |
+----+--------+------+
| 6 | 3 | ax |
+----+--------+------+
| 7 | 3 | bx |
+----+--------+------+
任務
在一個查詢中,我要檢查是否:
1)在表table2中,僅將“ ax”和“ bx”列為代碼
2)我在1)中獲得的listid的類型在表table1中為“ a”
的PHP
$a = mysql_query("SELECT t1.listid FROM table1 AS t1, table2 AS t2......");
$b = mysql_fetch_assoc($a);
if($b['listid'])
{
echo $b['listid'];
}
else
{
echo 'nothing found';
}
輸出量
listid = 1
listid = 2為false,因為table2中還包含“ cx”
listid = 3為假,因為它在表1中具有類型“ b”
我希望這是有道理的 :)
SELECT t1.listid
FROM t1
WHERE type = 'a'
AND id NOT IN
(
SELECT listid
FROM t2
WHERE code NOT IN ('ax', 'bx')
)
這也將匹配來自t1
記錄,這些記錄在t2
中根本沒有對應的記錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.