2012-07-26 48 views
1

我需要進行查詢以通過SQL從數據庫收集一些數據。在這個數據中有1個值用作收集值。這是給出的課程的ID。有時候可以給出有關f.e的課程。辦公室。但是,人們可以在那裏做一個課程,詞彙,excel,powerpoint ...但是這一切都是由1個導師給出的。仍然爲統計我需要知道他們是否參加了Word,Excel,Powerpoint的課程...將結果中的值替換爲特定值

是否可以替換結果集中的值?有了這個,我的意思是這樣:

如果值= courseValue ==>替換特定courseValue值(我可以通過一個子查詢得到的值)

我希望這是我的問題清楚,我所有並欣賞了幫幫我!

+0

請將迄今爲止寫入的SQL添加到您的問題 – 2012-07-26 09:32:37

+0

它是您想要替換的單個值,還是(可能)多個值? – 2012-07-26 09:37:20

+0

你必須清楚地解釋你有什麼信息和你需要什麼。 對我來說,聽起來像你存儲學生的一般課程信息(辦公室),並希望通過魔法提取詳細的信息(辦公室/ Word)。 – 2012-07-26 09:40:49

回答

5

您可以在您的select中使用case語句來返回除該行上的課程標識以外的內容。例如:

SELECT 
    field1 AS 'Name', 
    CASE 
     WHEN field2 = 'Foo' 
      THEN 'Bar' 
     WHEN field2 = 'Lorem' 
      THEN 'Ipsum' 
     ELSE 'Some Value' 
    END 
    AS 'Type', 
    field3 AS 'Description' 
FROM table 
+0

謝謝!我在編號時使用了這個名字(所以我需要做更多的工作,所以我首先測試了它。)以這種方式測試: SELECT count(*)as aantal_per_maand,case when p.planning_Cursus_ID = 2087 then 123123 else p.planning_Cursus_ID end作爲ID,cursus_Naam 如cursusNaam .... 會像: SELECT COUNT(*)作爲aantal_per_maand,情況下,當p.planning_Cursus_ID = 2087然後cursus_Naam = 「<進行名稱選擇子查詢>」 其他cursus_Naam端作爲cursusNaam。 ..(語法不會很好,但我認爲這是一個頭腦風暴的想法:P) – procx 2012-07-26 12:24:42

0

如果我理解正確的話,則需要沿該線的東西:

  • 創建「courseID」和「replacementID」列的新表,填好了情況下,有更換
  • 在您的查詢做外與此表一起在courseID各個領域,並返回「replacementID」,它可以爲空是沒有替換
  • 二者必選其一如果不是null或課程ID
相關問題