2011-02-07 19 views
0

我試圖做一個查詢兩個表運行的查詢:在多個表

  • SIMPLE_PERSON有3個字段(名稱,電網和社會保障卡)
  • INDIVIDUAL_AGGREGATE有4個字段:網格(PK),式(d(驅動器),或者C(客戶端)),代碼,simple_person(simple_person的外鍵))

當我註冊了一些人,我一定要救他們的SIMPLE_PERSON並設置(驅動程序或客戶端)的聚合類型。並且不能有兩個相同的社保卡號碼。

使用AJAX,我扔返回如果SSC被註冊的警告框一個檢查,但我的SQL查詢不起作用。如果社會保障卡已經註冊,我需要提供返回給我的查詢。我試圖使用EXISTS,但我沒有取得太大的成功:

SELECT simple_person.name 
    FROM simple_person 
WHERE SSC = 'SSC_NUMBER' 
    AND EXISTS (SELECT individual_aggregate.code FROM individual_aggregate 
       WHERE code = 'xx' 
        AND individual_aggregate.type = 'D'); 

有人可以幫助我使這個查詢工作?

+2

我祈禱到互聯網,你實際上並沒有SSN存儲在數據庫中的神。 – 2011-02-07 17:06:24

+0

爲什麼你需要查詢的「EXISTS ...」部分?如果你正在查看SSC尚未註冊,難道你不能只是做一個`SELECT count(*)FROM simple_person WHERE SSC ='SSC_NUMBER'`? – 2011-02-07 17:17:44

回答

0

沒有你想檢查是否有在某個社會安全號碼上註冊的人?

如果是我所做的是兩個表之間 加入並返回行是等於一個特定的社會安全號碼。

您可以添加到WHERE語句(AND IA.code = 'XX' AND IA.Type = 'd')

SELECT SP.Name 
FROM simple_person AS SP 
INNER JOIN individual_aggregate AS IA ON SP.grid = IA.grid 
WHERE SP.SSC = {someNumber} 

幫助你的?

0

你的EXISTS子句中的子查詢實際上不打表,視圖或其他。

+0

同意,將要登錄評論檢查,如果這是一個錯字雖然 – 2011-02-07 17:14:08

0

你的子選擇的FROM子句缺少。

選擇 individual_aggregate.code FROM individual_aggregate WHERE 碼= 'XX' 和individual_aggregate.type = 'd'

問候 Sigersted