簡體   English   中英

C#執行多個SQL語句並在GridView中顯示結果

[英]C# Executing multiple SQL Statements and display result n GridView

我正在使用VS2005和SQL Server 2005。

我試圖在兩個sql表上執行多個sql語句,這意味着我需要對兩個表進行一次檢查。

這兩個表是:

表1用戶ID用戶名

表2用戶ID狀態

以下是我需要執行的檢查,但我不知道我需要的確切SQL查詢是什么。

  1. 表1中存在的用戶應在 2中存在

  2. 存在用戶表1是不應該有STATUS=DELETE 表2

  3. 2中沒有STATUS=DELETE用戶應該存在於表1中

我是否可以知道如何形成此形式以簽入SQL查詢並在VS Sqldatasource中執行它們?

之后,將結果存儲在變量中並在GridView表中顯示它們。

非常感謝你的幫助。

因此,您有3種情況要抓:

  1. 用戶存在於表1中,但不存在於表2中
  2. 用戶在表2中被標記為DELETE,但在表1中仍然存在
  3. 用戶未在表2中標記為“刪除”,但在表1中不存在

這三種情況按以下順序在下面的WHERE子句中介紹。

SELECT *
FROM table1 t1
FULL OUTER JOIN table2 t2 ON t1.userid = t2.userid
WHERE (t2.userid IS NULL AND t1.userid IS NOT NULL)
OR (t2.status = 'DELETE' AND t1.userid IS NOT NULL)
OR (t2.userid IS NOT NULL AND t2.status <> 'DELETE' AND t1.userid IS NULL)

編輯:針對OP的評論,這是一個修改后的版本,它將根據情況#1將數據插入到table3 假設table3是一個包含兩列的表,分別為userIDproblem

INSERT INTO table3
SELECT userID, 'No Matching Table2 Record'
FROM table1 t1
FULL OUTER JOIN table2 t2 ON t1.userid = t2.userid
WHERE (t2.userid IS NULL AND t1.userid IS NOT NULL)

您要在UserIDjoin表1和2,並排除刪除狀態。 然后在網格視圖中使用結果。

select t1.UserID, t1.Username
from Table1 t1 
     join Table2 t2 on t1.UserID = t2.UserID
where t2.Status != 'DELETE'

暫無
暫無

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

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