選擇SQL Server的新紀錄。我在那有這些列的表的SQL Server數據庫databaseOne:按日期
COMPANY_NAME,帳戶,data_uploaded_date
這表有10萬個記錄。我今天將5000行新數據上傳到了同一張表中。
我需要一個查詢來檢查公司名稱有多少新的有哪些不是在databaseOne過嗎?
選擇SQL Server的新紀錄。我在那有這些列的表的SQL Server數據庫databaseOne:按日期
COMPANY_NAME,帳戶,data_uploaded_date
這表有10萬個記錄。我今天將5000行新數據上傳到了同一張表中。
我需要一個查詢來檢查公司名稱有多少新的有哪些不是在databaseOne過嗎?
select count(*)
from table
where data_uploaded_date = cast(getdate() as date)
SELECT
company_name, account, data_uploaded_date
FROM
Records
WHERE
CAST(data_uploaded_date as Date) = CAST(GETDATE() as Date)
AND company_name NOT IN (SELECT company_name
FROM Records
WHERE CAST(data_uploaded_date as Date) < CAST(GETDATE() as Date))
根據這個問題,'databaseOne'是** **數據庫 - 不表 –
感謝@marc_s感謝您的澄清。我知道這是數據庫名稱,但沒有提到表名,所以我用它作爲表。無論如何糾正它;) – Rahul
您需要使用Count
與Distinct
條款。如果其中包含NULL
,則IN
將不起作用。所以在Subquery中處理爲空,傳遞給NOT IN
SELECT COUNT(DISTINCT company_name)
FROM TABLE1
WHERE company_name NOT IN (
SELECT DISTINCT ISNULL(company_name, '')
FROM TABLE1
WHERE data_uploaded_date < CAST(GETDATE() AS DATE)
)
AND data_uploaded_date >=CAST(GETDATE() AS DATE)
他想檢查當天添加的新公司名稱! –
ya getdate()功能給出今天的日期 –
okk我明白了什麼是問題 –