使用来自5个不同表的数据填充数据网格 [英] Populate datagrid with data from 5 diferent tables

查看:74
本文介绍了使用来自5个不同表的数据填充数据网格的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我有这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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆