2012-11-12 37 views
0

我有一個SQL數據庫,我需要創建一個過程或查詢鏈接到一個Web前端,用戶可以輸入一個值將是在數據庫的其中一列中。用戶鍵入值並提交命令(只是網站文本框中的普通文本輸入),查詢會在後臺運行,以查看其條目中列中具有該值的所有人員。 用戶輸入以確定特定人員視圖的結果。SQL查詢/過程與用戶輸入查看所有人符合條件

SQL端我目前有但不確定它是正確的,但作用並不如預期!

我有一張桌子,裏面有人和興趣價值列的模型。 每個感興趣的模型只是一個數字1-7,涉及另一個表中的產品範圍。所以1 = Corsa,2 = Astra,3 = Vectra等 所以在persons表中,它們將會有純粹的1或2等。現在我需要它鏈接到模型表,所以如果它看到1尋找Corsa而不是數字1.

用戶鍵入前端,選擇所有對Corsa感興趣的用戶,它將查找單詞corsa並將其與值1匹配,然後在模型中搜索1在人物表中的興趣列。

到目前爲止,我有以下查詢。任何建議,因爲我今天難住。明天再試一次。

SELECT TOP 100 [ld_idno] 
     ,[ld_company] 
     ,[ld_decisionmaker] 
     ,[ld_decisionmaker_workphone] 
     ,[ld_decisionmaker_mobile] 
     ,[ld_decisionmaker_email] 
     ,[ld_discussion_model] 
    FROM [FMLive204].[dbo].[tblLeads] 
SELECT a.po_word 
FROM dbo.tblPopulation a 
      INNER JOIN dbo.tblLeads b 
       ON ld_discussion_model = po_idno 
       WHERE [po_word]='Corsa' 

SELECT TOP 100唯一的記錄 公司名稱 客戶名稱 客戶辦公電話] 客戶可移動] 客戶電子郵件] [ld_discussion_model] [DBO] FROM [FMLive204]的利息= 1 型號。[ tblLeads] SELECT a.po_word FROM dbo.tblPopulation一個(表一) INNER JOIN dbo.tblLeads b(表b) ON ld_discussion_model = po_idno(如果感興趣1的模型是一樣的,在其他表中的條目,選擇下一個柱(po_字) WHERE [po_word] = '可賽'

回答

0

丹尼爾,

下面我概述的存儲過程將要求用戶數據(例如Corsa從網站輸入)並返回tblpopulation的所有字段,其中「po_idno」位於與tblLeads匹配的列表中。沒有tblpopulation定義我猜字段名稱'po_idno'是其中值爲1-7的字段。

Create PROCEDURE [dbo].[sp_find_person] (@UserData varchar(6)) 
AS 
BEGIN 


SELECT Top 100 * FROM [FMLive204].[dbo].tblpopulation 
where po_idno in (SELECT po_idno FROM dbo.tblLeads b 
      JOIN dbo.tblPopulation a 
       ON ld_discussion_model = po_idno 
       WHERE [po_word][email protected]) 

一旦你創建的過程中,您將不得不執行它其中的更多信息,可以發現@http://msdn.microsoft.com/en-us/library/ms189915.aspx

+0

謝謝你的輝煌。看起來好多了!我是全新的,每天都在學習SQL,所以我不是專家,但是我們的目標是在工作中破解大部分我們使用它的東西。只是嘗試過程,執行它,我得到以下錯誤。 ** Msg 102,Level 15,State 1,Procedure sp_find_person,Line 10'''附近的語法不正確。** –

+0

丹尼爾,我很高興能夠提供幫助,因爲我也是SQL的新手。請接受我的回答,以便在您提出其他問題時獲得更多答案。 – jjamesjohnson

+0

好吧,我現在有以下,並不確定我將如何繞過這個。無用我知道... 但請參閱上面的...... –