也想添加此信息。
PHP-代码:
$result = mysql_query("SELECT TBL_ContactsList.ContactID, TBL_ContactName.FirstName FROM TBL_ContactsList, TBL_ContactName WHERE ((TBL_ContactName.NameID != $userid) AND (TBL_ContactsList.ContactID != $userid)) AND ((TBL_ContactName.NameID IN ($UserIDAList) OR TBL_ContactName.NameID IN $UserIDBList)))");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf ("ID: %s Name: %s", $row[0], $row[1]);
echo "<br/>";
}
只有SQL-Query(可读性):
SELECT TBL_ContactsList.ContactID, TBL_ContactName.FirstName
FROM TBL_ContactsList, TBL_ContactName
WHERE ((TBL_ContactName.NameID != $userid) AND (TBL_ContactsList.ContactID != $userid))
AND ((TBL_ContactName.NameID IN ($UserIDAList) OR TBL_ContactName.NameID IN $UserIDBList)))
输出:
ID: 2 Name: Joe
ID: 3 Name: Joe
ID: 4 Name: Joe
ID: 2 Name: Jimbo
ID: 3 Name: Jimbo
ID: 4 Name: Jimbo
ID: 2 Name: Mike
ID: 3 Name: Mike
编辑:这是我最终使用的。 (在这里找不到缩进。)
但现在我错过了db的一个条目。
$result = mysql_query("
输出看起来像这样
ID:2姓名:乔
SELECT cl.ContactID, cn.FirstName
FROM TBL_ContactName AS cn
INNER JOIN TBL_ContactsList AS cl
ON cl.ContactID = cn.NameID
WHERE
cn.NameID != $userid
AND (
cn.NameID IN ($UserIDBList) OR cn.NameID IN ($UserIDAList)
)
");
ID:3姓名:Jimbo
但是当我把LEFT JOIN放进去的时候我就明白了。关闭但仍缺少身份证明
ID:2姓名:乔
ID:3姓名:Jimbo
ID:姓名:Mike
任何想法?谢谢!
答案 0 :(得分:1)
如果我正确地获得了SQL结构,那么更改SQL应该可以修复它。至少它是一个正确的用法。
$result=mysql_query("SELECT cl.ContactID, cn.FirstName FROM TBL_ContactsList cl INNER JOIN TBL_ContactName cn ON cn.NameID=cl.ContactID WHERE cn.NameID != $userid AND (CN.NameID IN ($UserIDAList) OR CL.NameID IN ($UserIDBList))");
答案 1 :(得分:1)
您应该缩进并缩短SQL以提高可读性
$result = mysql_query("
SELECT cl.ContactID, cl.FirstName
FROM TBL_ContactsList cl
JOIN TBL_ContactName cn
WHERE (
cn.NameID != $userid AND
cl.ContactID != $userid
) AND (
cn.NameID IN ($UserIDAList) OR
cn.NameID IN ($UserIDBList)
)
");
答案 2 :(得分:0)
请提供反馈,如果这对您有用:
SELECT cl.ContactID, cn.FirstName
FROM TBL_ContactName AS cn
JOIN TBL_ContactsList as cl
ON cn.NameID = cn.ContactID
WHERE cn.NameID != $userid
AND (cn.NameID IN ($UserIDAList) OR cn.NameID IN ($UserIDBList));