我有一个包含树列,id,用户ID和车辆ID的表A.表B包含车辆和车辆名称。
Activity
鉴于用户ID,我需要获取与表A不匹配的所有车辆名称。我已经尝试过外连接,但我无法获得我需要的信息。 例如:给定用户ID 1,查询应该返回Car和Rocket。
提前致谢
答案 0 :(得分:1)
使用while ($row = $stmt->fetch()) {
$class = $row['votes'] == 0 ? 'zero' : ($row['votes'] < 0 ? 'neg' : 'pos');
echo '<h1 id="scoreCounter" class="' . $class . '">'.$row['votes'].'</h1>';
}
或h1.zero { color: #000; }
h1.pos { color: #0F0; }
h1.neg { color: #F00; }
:
not in
答案 1 :(得分:0)
我还想过使用交叉连接,并且能够在你更熟悉连接逻辑的情况下获得输出。
SELECT CJOIN.USER_ID, CJOIN.VEHICLE_ID, CJOIN.VEHICLE_NAME
FROM
(SELECT DISTINCT A.USER_ID, B.ID AS VEHICLE_ID, B.VEHICLE_NAME FROM TABLE_A A CROSS JOIN TABLE_B B) CJOIN
LEFT JOIN
TABLE_A D
ON CJOIN.USER_ID = D.USER_ID AND CJOIN.VEHICLE_ID = D.VEHICLE_ID
WHERE D.USER_ID IS NULL AND D.VEHICLE_ID IS NULL;
首先,我通过交叉连接获得USER_ID
x VEHICLE_ID
的所有可能组合,并在左连接中使用此表来提取没有匹配的记录。