我有一个包含公司列表的数据库。每个公司都可以访问不同的东西。我需要为菜单添加一个新链接,但仅限于某些名为ManifestList的menulink公司:
SELECT * FROM menu where menulink like '%ManifestList.aspx%' ;
此查询返回22条记录。所以我只需要为这22条记录添加新菜单。
我的用于添加新记录的插入语句:
INSERT INTO `menu`
(`CompanyID`,
`MenuName`,
`MenuLink`,
`ImageLink`,
`ListOrder`,
`Popup`,
`ParentMenuID`,
`IsActive`,
`IsAdmin`)
SELECT Company_ID,
'Manifest Analysis',
'reports/ManifestAnalysisReport.aspx',
'images/icons/grey/Graph.png',
'15',
'0',
'0',
'1',
'0'
FROM companies;
但这会为所有公司创建新菜单。如何仅将此菜单添加到包含menulink ManifestList的记录?
答案 0 :(得分:1)
你为什么不把两者结合起来?
INSERT INTO `menu`
(`CompanyID`,
`MenuName`,
`MenuLink`,
`ImageLink`,
`ListOrder`,
`Popup`,
`ParentMenuID`,
`IsActive`,
`IsAdmin`)
SELECT Company_ID,
'Manifest Analysis',
'reports/ManifestAnalysisReport.aspx',
'images/icons/grey/Graph.png',
'15',
'0',
'0',
'1',
'0'
FROM companies
WHERE menulink LIKE '%ManifestList.aspx%' ;
答案 1 :(得分:0)
我需要加入菜单表以消除错误:错误代码:1054。'where子句'中的未知列'menulink'
我使用了左连接,然后我可以使用menulink
FROM companies c
LEFT JOIN menu m on c.Company_ID = m.CompanyID
WHERE m.menulink LIKE '%ManifestList.aspx%' ;