2011-11-06 18 views
0

我有一個學生ID和我的數據庫中的多個表,用於學生的信息,例如給定任何id,它只出現在一個表中。每個表都有屬性Student ID。用於確定表中存在性的SQL查詢

給定一個學生ID,如何使用SQL查詢來確定表具有該學生ID的學生信息?

回答

2
IF EXISTS(SELECT TOP 1 1 FROM table WHERE studentID = @input) 
    BEGIN 
     -- do stuff 
    END 

或略少花哨

IF EXISTS(SELECT TOP 1 studentID FROM table WHERE studentID = @input) 
    BEGIN 
     -- do stuff 
    END 

你也可以做一個查找視圖/查詢。像這樣:

SELECT sudentID, 'Table1' as Location 
    FROM 'Table1' 
    UNION ALL 
    SELECT sudentID, 'Table2' as Location 
    FROM 'Table2' 
    UNION ALL 
    SELECT sudentID, 'Table3' as Location 
    FROM 'Table3' 
    UNION ALL 
    SELECT sudentID, 'Table4' as Location 
    FROM 'Table4' 

然後查詢此視圖的位置。如果你需要加入

0

我只是一個MySQL初學者這可能是有用的,但我會通過依次選擇*從每個表處理這個問題:

SELECT * FROM table爲了通過student_id;

然後,對於每個student_id,查看從select中返回的某行是否具有該student_id。

是的,這完全是蠻力,毫無疑問,有許多更復雜,更快的解決方案。但這就是我在MySQL旅程中的這一點。

HTH。更好的解決方案是值得歡迎的。

相關問題