- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找更好的方法来处理以下问题。
custData
--------
ID | Code
1 | A
2 | B
prodData
--------
ID | ProdID
1 | prodA
2 | prodB
3 | prodC
我想在此表中保留记录:
custProdPrice
--------
ID | Cust | Prod
1 | A | prodA
2 | A | prodB
3 | A | prodC
4 | B | prodA
5 | B | prodB
6 | B | prodC
我通过使用以下查询来完成它
create view CashPOSDB.viewertable as select Code, ProdID as pid, BelongTo
from CashPOSDB.custData cross join CashPOSDB.prodData
AND
insert into CashPOSDB.custProdPrice(Cust, Prod, BelongTo)(select Code, Pid, BelongTo from
(select Code, pid, belongTo from CashPOSDB.viewertable UNION ALL
select Cust, Prod, BelongTo from CashPOSDB.custProdPrice) t group by Code, Pid);
它完成了这项工作,但似乎有时会丢失一些结果或插入重复的行。
此外,我希望它进行检查,以便当我插入新的 Prod prodD
时,它会检查 custProdPrice
并查看 cust A 和 B 是否已经有行
A | prodD
b | prodD
如果不存在则将其插入。
那么优化这个的最佳方法是什么?
最佳答案
为custProdPrice
表指定(Cust, Prod)
上的唯一索引以防止重复:
ALTER TABLE custProdPrice ADD UNIQUE INDEX (Cust, Prod);
然后使用INSERT IGNORE
跳过重复项。
在插入 custProdPrice
时,似乎没有任何理由将 UNION
与 custProdPrice
结合起来。只需插入叉积即可。
INSERT IGNORE INTO CashPOSDB.custProdPrice (Cust, Prod, BelongTo)
SELECT Cust, Prod, BelongTo
FROM CashPOSDB.viewertable
要自动向 custProdPrice
添加新行,请使用触发器:
CREATE TRIGGER addCustProdPrice
AFTER INSERT ON prodTable
FOR EACH ROW
INSERT IGNORE INTO custProdPrice (Cust, Prod, BelongTo)
SELECT c.Cust, NEW.Prod, NEW.BelongTo
FROM custData;
关于mysql在3个表之间插入和选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58121031/
我似乎对 git 存储库有权限问题。 当我 pull 入一个不是我的 Linux 用户创建的目录时,我出现了这个错误。 fatal: Unable to create '/home/---/.git/
在 Git 中,您可以将给定目录克隆到给定目录: git clone ssh://gitolite@dev.bipper.com:3687/com/bipper/kids/portal 当我运行我们
目前,如果您在分支 V2 中并执行“git pull origin V3”,它会将 V3 merge 到 V2,甚至不会发出警告或提示。这个选项可以以某种方式被阻止吗?我在这里阅读了所有类似的问题,人
我刚开始使用 Oracle 的 Coherence 缓存,我注意到这一点:如果我在缓存中放入一个 ConcurrentHashMap 对象,当我检索它时,我可以看到它被转换为一个普通的 HashMap
看起来我缺少对 git pull 和 git commit 的基本理解,假设我在分支上工作,而它在我更新时被其他开发人员更新了在本地做我的工作。我应该在发出 git pull 之前提交更改,还是应该执
好的。所以我以为我已经舔过了……但现在…… 我有一个项目,其中包含一个来自 GitHub 的小型库作为子模块。在该 super 项目的原始版本中,子模块按预期工作。 但是,我只是克隆了 super 项
使用 Visual Studio Code 中的内置 Git,我看不到将指定的远程分支 pull 入当前分支的方法。我可以这样做吗? 示例:我正在分支 myBranch 上工作,更改已 merge 到
当我尝试提交或 pull 此错误时 Bus error (core dumped) 发生了! 当我用 gdb 调试它时,(gdb git,run commit -a,where) 结果是: mucul
我对默认 Rails Rake 任务的预期用途有点困惑,想咨询一下我是否应该使用 db:reset或编写自定义 Rake 任务。没什么聪明的,只是日常管理,而且我很可能会错过一个明显的文档,因为我是
所以我做了: git reset --hard #commithash # make a bunch of changes, fixes and so on. git add -A git commi
我已使用以下命令成功部署到 firebase 托管应用: firebase init firebase deploy 在这个阶段,我正在执行 git pull 以将 repo 下 pull 到暂存服务
当尝试在 Eclipse 的 git 存储库中 pull (团队|从上下文菜单中 pull )时,出现 Could not get advertised Ref for branch refs/hea
我是一名优秀的程序员,十分优秀!