【问题标题】:Insert new rows into table that's connected to another table on Database将新行插入到连接到数据库上另一个表的表中
【发布时间】:2015-07-03 13:12:40
【问题描述】:

Database 中有两张桌子:菜单和公司。两者都通过CompanyID 连接。在company 表中有近100 行不同公司的信息。 我可以通过这个sqlquery在菜单表中插入一行:

INSERT INTO `menu` (`CompanyID`, `MenuName`, `MenuLink`, `ImageLink`,
`ListOrder`, `Popup`, `ParentMenuID`, `IsActive`, `IsAdmin`) VALUES
('11', 'Holidays', 'lookups/Holidays.aspx', 'images/Archive.png', '11',
'1', '1807', '1', '0');

我在这里将CompanyID 设置为11。但我不想为每个 CompanyID 插入query,所以如果有办法为所有公司插入?

【问题讨论】:

  • 对于条件插入查找 CASE WHEN THEN 语法
  • @KarmaEDV 我将使用两个单独的查询。更新查询需要什么才能更改 ParentMenuID?
  • 我不确定我是否理解你... T-SQL sysntax: update menu set ParentMenuID = case when menulink like '%lookups%' then companyid else parentmenuid end where companyid = @companyid跨度>

标签: mysql database mysql-workbench sql-insert


【解决方案1】:
INSERT INTO menu (CompanyID
, MenuName
, MenuLink
, ImageLink
, ListOrder
, Popup
, ParentMenuID
, IsActive
, IsAdmin) 
SELECT CompanyID
, 'Holidays'
, 'lookups/Holidays.aspx'
, 'images/Archive.png'
, '11'
, '1'
, '1807'
, '1'
, '0'
FROM companies

【讨论】:

  • 感谢您的帮助,但我忘记了我的问题的一部分。你能看看我的编辑吗?
【解决方案2】:

Try This one

INSERT INTO menu (CompanyID, MenuName, MenuLink, ImageLink, ListOrder, Popup, ParentMenuID, IsActive, IsAdmin) SELECT CompanyID, 'Holidays', 'lookups/Holidays.aspx', 'images/Archive.png' , '11', '1', '1807', '1', '0' FROM companies

注意:替换这些(CompanyID、'Holidays'、'lookups/Holidays.aspx'、'images/Archive.png'、'11'、'1'、'1807'、'1'、'0')副公司表中具有对应字段的字段

【讨论】:

    猜你喜欢
    • 2020-09-28
    • 1970-01-01
    • 1970-01-01
    • 2015-07-02
    • 2015-03-31
    • 1970-01-01
    • 2018-02-28
    • 1970-01-01
    • 2016-09-25
    相关资源
    最近更新 更多