簡體   English   中英

通過ID通過兩列比較從mysql中選擇所有行

[英]Select all rows from mysql by id with two columns comparison

我想通過ID與兩列比較從MySQL表中選擇所有行,我的代碼是:

$q = "SELECT * FROM `users` WHERE (`id` <> `chat.from_id` AND `id` <> `chat.to_id`)";

但是,當我運行它時,出現以下錯誤:

Message: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'chat.from_id' in 'where clause'
SELECT * FROM `users` WHERE (`id` <> `chat.from_id` AND `id` <> `chat.to_id`)
File: Z:/home/mag.ru/www/panel/gears/db.php
Line: 107
URL: /chat

chat.from_id存在於聊天表中。 我的錯誤在哪里?

您不加入聊天表。 因此,您不能在查詢中使用該表中的列。 嘗試

SELECT u.* 
FROM `users` u
LEFT JOIN chat c on u.id = c.from_id or u.id = c.to_id
WHERE c.id is null

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM