簡體   English   中英

如何在 SQL 語句的 WHERE 子句中使用 JOIN?

[英]How to use JOIN in WHERE clause in SQL statement?

以下是 2 collections - 商家和代幣。
令牌是一個表,其中包含供商家使用的令牌。
每個商家可以有多個令牌。

表:商戶
列:

  • ID(nvarchar,不為空),
  • 名稱(nvarchar,不為空),
  • PartnerId(nvarchar,不為空),
  • 組(nvarchar,不為空),
  • JoinDate(nvarchar,不為空)

表:令牌
列:

  • ID(nvarchar,不為空),
  • InsertDate(日期時間,不為空),
  • MerchantId(nvarchar,不為空),
  • TokenType(int,非空),

我正在嘗試編寫一個 SQL 查詢,該查詢將獲取具有非活動令牌的商家
2021 年 8 月 30 日之后為 2020 年 1 月 1 日之后加入的商家創建的。
必填 output:商戶名稱,商戶加入日期。
不應顯示具有重復數據的行。

我嘗試執行以下操作:

SELECT Merchants.Name, Merchants.JoinDate
FROM Merchants
WHERE Tokens.TokenType=1 AND Tokens.InsertDate > 8/30/2021 AND Merchants.JoinDate > 1/1/2020
LIMIT 1;

但是,這似乎不起作用。
我是 SQL 的新手,我想我應該在 WHERE 子句中使用 JOIN,
但我似乎無法讓它發揮作用。
有人可以幫忙嗎?

這應該很好。

SELECT DISTINCT m.Name, m.JoinDate
FROM Merchants m JOIN Tokens t ON m.Id = t.MerchantId
WHERE t.InsertDate > '8/30/2021' AND m.JoinDate > '1/1/2020' AND t.TokenType = 1

在 FROM 語句中插入連接,而在 WHERE 語句中您需要添加屬性的條件(關系代數的選擇運算符)

暫無
暫無

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

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