我有2個表。第一個保存一些購物清單的總價值,第二個表保存該清單中的產品。當一個購物清單與像列表號的一些信息(nrList
這是某種形式的表ID)和產品該列表nrProducts
上的號碼進行加總價值爲total
表在一起,同時產品進入listproducts
表。可以說有3個產品tomato,oranges and apples
。他們都會共享相同的nrList
,正如前面提到的,它就像列表ID一樣。比較兩個表的值
第一個表totals
:
CREATE TABLE IF NOT EXISTS `totals` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nrList` int(11) NOT NULL,
`nrProducts` int(11) DEFAULT NULL,
`total` double NOT NULL,
`data` date DEFAULT NULL,
`ora` time DEFAULT NULL,
`dataora` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`Operator` varchar(50) DEFAULT NULL,
`anulat` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
)
二表listproducts
:
CREATE TABLE IF NOT EXISTS `listproducts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nrList` int(11) DEFAULT NULL,
`product` varchar(50) DEFAULT NULL,
`quantity` double DEFAULT NULL,
`price` double DEFAULT NULL,
`data` date DEFAULT NULL,
`operator` varchar(50) NOT NULL,
`anulat` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
)
現在,我有兩件事情我想做的事情,他們都非常相似。 可以說,我有3 products.In的totals
表名單會有一些信息一行,並與total=10$
nrProducts=3
和nrList=1
。在listproducts
表我將有3行均具有nrList=1
且各自具有price=3$,3$,4$
。 現在,我要檢查以下內容: 1.That如果nrProducts=3
值的話,我對我們的產品在其他表列表。 2.檢查第一個表中的總和是否等於第二個表中的產品總和(數量*價格SUM)
我已經完成了一些工作,但是我不知道下一步該怎麼做。 我設法用它來獲取產品從第二個表中的每個列表中的號碼:
SELECT nrList,operator,COUNT(*) as count FROM listproducts GROUP BY nrList
但我不知道如何比較,如果該值是沒有做兩個查詢相同。
對於第二件事再說,我知道怎麼弄的總和,但我不知道如何把它們沒有做兩個單獨的查詢比較。
SELECT SUM(price*quantity) FROM `listproducts` WHERE nrList='10' and operator like '%x%'
我也可以做一些事情,就像我在其他選擇中所做的一樣,這不是問題。
的問題是,我不知道該怎麼做我想做的事情在一個單一的選擇,而不是做兩個比較them.I'm在Java中這樣做,這樣我可以比較,但我想知道如果我能在單個查詢中做到這一點。
感謝和抱歉的長期職位。
酷,發現了一些新的東西,感謝您!謝謝 ! –