SQL如何使用每行的语句更新新列

时间:2015-12-29 16:47:59

标签: mysql sql

我在“werknemer”表中添加了一个新列,该列名为“salaris_schaal”。

我希望在该列中有一个int,可以说出员工(“werknemer”)的薪水等级。 “Salaris”是员工的工资。

薪水表有最低工资和最高工资,我在互联网的帮助下编写了这个查询(搜索)。而且我认为最接近我可以获得atm,我尝试了不同的查询,但那些没有用。

@BindingAdapter({"bind:htmlTextColor"})
public static void setHtml(WebView webView, int textColorAttr) {
    // binding logic
}

我已经看到它也可能UPDATE werknemer SET salaris_schaal = CASE WHEN salaris > 700 and salaris < 1200 THEN salaris_schaal = 1 WHEN salaris > 1201 and salaris < 1400 THEN salaris_schaal = 2 WHEN salaris > 1401 and salaris < 2000 THEN salaris_schaal = 3 WHEN salaris > 2001 and salaris < 3000 THEN salaris_schaal = 4 WHEN salaris > 3001 and salaris < 9999 THEN werknemer.salaris_schaal = 5 END SELECT,这是一个更好的方法来管理它吗?

我对SQL很新,在JAVA中有很多程序可以在SQL中使用if和else语句吗?

1 个答案:

答案 0 :(得分:3)

您几乎就在那里,删除salaris_schaal THENCase语句中UPDATE werknemer SET salaris_schaal = CASE WHEN salaris > 700 and salaris < 1200 THEN 1 WHEN salaris > 1201 and salaris < 1400 THEN 2 WHEN salaris > 1401 and salaris < 2000 THEN 3 WHEN salaris > 2001 and salaris < 3000 THEN 4 WHEN salaris > 3001 and salaris < 9999 THEN 5 END 的作业。

试试这个语法

salaris>=9999

注意:salaris<=700salaris_schaal然后NULL将被分配static func fetchData(forEntity name: String) -> [AnyObject] { let dataController = DataController().managedObjectContext let fetchRequest = NSFetchRequest(entityName: name) do{ let results = try dataController.executeFetchRequest(fetchRequest) print("Returning result: \(results.description)") return results } catch { print("Failed to execute fetch request for \(name) entity") return [] } }