讓我想我有兩個表。 第一個爲用戶。其中有ID,用戶名 另一個是檢查whois跟隨誰。 第二個表有2列「FROM」和TO如何把邏輯放在2個不同的mysql表中?
像
table user
id username
1 rko
2 hhh
3 john cena
4 cm punk
和
table follow
from to
1 3
1 4
現在我想誰RKO不按照用戶名。 那麼,SQL會是什麼呢?
用mysql
讓我想我有兩個表。 第一個爲用戶。其中有ID,用戶名 另一個是檢查whois跟隨誰。 第二個表有2列「FROM」和TO如何把邏輯放在2個不同的mysql表中?
像
table user
id username
1 rko
2 hhh
3 john cena
4 cm punk
和
table follow
from to
1 3
1 4
現在我想誰RKO不按照用戶名。 那麼,SQL會是什麼呢?
用mysql
嘗試以下查詢:
SELECT *
FROM USER
WHERE
ID
NOT IN (
SELECT B.USERTO
FROM USER AS A INNER JOIN follow AS B ON A.ID = B.userfrom
WHERE USERNAME = 'RKO'
UNION ALL
SELECT ID
FROM USER AS A
WHERE USERNAME = 'RKO'
)
我已經修改了這個查詢,以便它不會因爲在正常情況下用戶返回結果當前用戶不能按照像RXO同一個用戶不能按照RXO。以便我從結果中移除該用戶。
SELECT T.username
FROM user T
WHERE T.id NOT IN (
SELECT F.to
FROM follow F
WHERE F.from = (
SELECT T2.id
FROM user T2
WHERE T2.username = "RKO"
)
)
這是MSSQL:
select username
from user
where id not in (select to
from follow
where from = 1)
也許類似的東西
SELECT usrename FROM user WHERE id NOT IN (SELECT to FROM follow WHERE from = (SELECT id FROM username WHERE name = 'rko'))