使用来自5个不同表的数据填充数据网格 [英] Populate datagrid with data from 5 diferent tables
问题描述
大家好,
我有这5张桌子:
CPU:品牌,型号,ID_CPU,插座,类型,保修,已售出和结账
磁盘:品牌,型号,ID_DISK,存储,类型,尺寸,重量,保修,售出和结账
桌面:品牌,型号,ID_DESKTOP,主板,CPU,图形,存储器,存储器,电源,操作系统,尺寸,重量,保修,售出和结账
笔记本:品牌,型号,ID_NOTEBOOK,主板,CPU,图形,存储器,存储器,电源,操作系统,尺寸,重量,保修,售出和结算
RAM:品牌,型号,ID_RAM,内存,类型,尺寸,重量,保修,售出和结算
我想从所有5个表中选择所有这些信息但是通过CHECKOUT过滤,意味着此值为0我们的1并显示在结帐表上。
PS:我正在使用ACCESS DATABASE。这是一个学校项目。
我尝试过:
尝试使用字符串SELECT * FROM CPU,RAM,NOTEBOOK,DESKTOP,DISK WHERE CHECKOUT = 1
Hello guys,
I have this 5 tables:
CPU: BRAND, MODEL, ID_CPU, SOCKET, TYPE, WARRANTY, SOLD AND CHECKOUT
DISK: BRAND, MODEL, ID_DISK, STORAGE, TYPE, DIMENSIONS, WEIGHT, WARRANTY, SOLD AND CHECKOUT
DESKTOP: BRAND, MODEL, ID_DESKTOP, MOTHERBOARD, CPU, GRAPHICS, MEMORY, STORAGE, POWERSUPPLY, OS, DIMENSIONS, WEIGHT, WARRANTY, SOLD AND CHECKOUT
NOTEBOOK: BRAND, MODEL, ID_NOTEBOOK, MOTHERBOARD, CPU, GRAPHICS, MEMORY, STORAGE, POWERSUPPLY, OS, DIMENSIONS, WEIGHT, WARRANTY, SOLD AND CHECKOUT
RAM: BRAND, MODEL, ID_RAM, MEMORY, TYPE, DIMENSIONS, WEIGHT, WARRANTY, SOLD AND CHECKOUT
And I want to select all this information from all 5 tables but filtering by CHECKOUT, meaning this value is either 0 our 1 and show on checkout table.
PS: I'm using ACCESS DATABASE. It's a school project.
What I have tried:
Tryied to use the string "SELECT * FROM CPU,RAM,NOTEBOOK,DESKTOP,DISK WHERE CHECKOUT = 1"
推荐答案
我已经回答了这个问题 - 如何使用一个datagridview和tabcontrol从5个不同的表中过滤 [ ^ ]
您真的需要更改数据库架构!
由于您的桌面设计糟糕(请参阅我之前的回复),您需要使用 UNION [ ^ ]
I have already answered this question - How do I filter from 5 diferent tables using one datagridview and tabcontrol[^]
You seriously need to change your database schema!
Because of your awful table design (see my previous response) you will need to use UNION[^]
SELECT * FROM CPU WHERE CHECKOUT = 1
UNION
SELECT * FROM RAM WHERE CHECKOUT = 1
UNION
SELECT * FROM NOTEBOOK WHERE CHECKOUT = 1
UNION
SELECT * FROM DESKTOP WHERE CHECKOUT = 1
UNION
SELECT * FROM DISK WHERE CHECKOUT = 1
如果你按照我之前的建议那么这个本来是
If you had followed my earlier advice then this would have been
SELECT * FROM Hardware WHERE CHECKOUT = 1
这篇关于使用来自5个不同表的数据填充数据网格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!