하나씩 두 개의 쿼리를 실행하려고합니다. 내가 seperatley라는 두 개의 쿼리를 실행할 때 그들은 원하는 정보를 제공하고 제공합니다. 내가 그들을 결합하려고 할 때 나는 어딘가에서 잘못 가고있는 것처럼 보인다. 나는 뻔뻔스럽게 뭔가 잘못하고 있다는 것을 분명히하고 있습니까?MYSQL Sub Select가 작동하지 않습니다.
SELECT
pd.product_id, b.product_id, basket_qty,
product_name, product_price, product_image,
pd.category_id, basket_id
(SELECT
pd.product_id, b.product_id,
basket_session_id,
SUM(product_price) AS subtotal
FROM
basket b, product pd
WHERE
basket_Session_id = '9htt961lpa1kqieogd5ig5ff93' AND
b.product_id = pd.product_id)
FROM
basket b, product pd, department dep
WHERE
basket_session_id = '9htt961lpa1kqieogd5ig5ff93'
AND b.product_id = pd.product_id
AND dep.department_id = pd.category_id
테이블 구조 -
CREATE TABLE IF NOT EXISTS `basket` (
`basket_id` int(10) unsigned NOT NULL auto_increment,
`product_id` int(10) unsigned NOT NULL,
`basket_qty` int(10) unsigned NOT NULL default '1',
`basket_session_id` char(32) NOT NULL default '',
`basket_date` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`basket_id`),
KEY `product_id` (`product_id`),
KEY `basket_session_id` (`basket_session_id`)
)
CREATE TABLE IF NOT EXISTS `product` (
`product_id` int(10) unsigned NOT NULL auto_increment,
`category_id` int(10) unsigned NOT NULL,
`department_name` varchar(100) NOT NULL,
`product_name` varchar(100) NOT NULL default '',
`product_description` text NOT NULL,
`product_price` decimal(7,2) NOT NULL default '0.00',
`product_qty` smallint(5) unsigned NOT NULL default '0',
`product_size` text NOT NULL,
`product_image` varchar(200) default NULL,
`product_date` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`product_id`),
UNIQUE KEY `product_name` (`product_name`),
KEY `category_id` (`category_id`)
)
CREATE TABLE IF NOT EXISTS `department` (
`department_id` int(10) unsigned NOT NULL auto_increment,
`department_parent_id` int(11) NOT NULL default '0',
`name` varchar(50) NOT NULL default '',
`description` varchar(200) NOT NULL default '',
`image` varchar(255) NOT NULL default '',
PRIMARY KEY (`department_id`),
UNIQUE KEY `name` (`name`),
KEY `department_parent_id` (`department_parent_id`)
)
나는 전자 상거래 응용 프로그램에 대한 "바구니"세션을 기반으로 제품 정보를 끌어하려합니다. 한 바구니에 여러 제품이 포함될 수 있으므로 모든 제품의 총 가치 합계를 반환하고 싶습니다.
첫 번째 basket_id 다음에 세미콜론이 누락 되었습니까? – danihp
이것은 단순히 유효하지 않습니다 구문. 어떤 테이블 구조에서 원하는 아이디어를 선택하면 솔루션을 찾을 수 있습니까? –
결과를 얻으려는 소계를 얻으려는 것 같습니다. [롤업으로] (http : //forums.mysql.com/read.php?12,106959,106959), 또 다른 방법은 변수를 사용하여 [누적 합계]를 유지하는 것입니다 (http://stackoverflow.com/questions/664700/calculate-a- running-total-in-mysql), 마지막으로 상호 연관된 하위 쿼리를 사용하는 것입니다. – xQbert