Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите пожалуйста с выборкой / 3 сообщений из 3, страница 1 из 1
10.02.2015, 07:46:46
    #38875332
Boris_2007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста с выборкой
Имеются 3 таблицы

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
-- Дамп структуры для таблица zap
CREATE TABLE IF NOT EXISTS `zap` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `fact_gorod_id` int(11) DEFAULT NULL,
  `zakazchik_id` int(11) DEFAULT NULL,
  `nomer` int(11) DEFAULT NULL,
  `opisanie` varchar(255) CHARACTER SET cp1251 DEFAULT NULL,
  `current_date_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `closed_date_time` timestamp NULL DEFAULT NULL,
  `srok_postavki` varchar(250) CHARACTER SET cp1251 DEFAULT NULL,
  `opened` int(11) DEFAULT NULL,
  `deleted` int(11) DEFAULT '0',
  `computer_insert` varchar(255) CHARACTER SET cp1251 DEFAULT NULL,
  `computer_edit` varchar(255) CHARACTER SET cp1251 DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

-- Дамп структуры для таблица zap_cen
CREATE TABLE IF NOT EXISTS `zap_cen` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `zap_id` int(11) DEFAULT NULL,
  `name` varchar(250) CHARACTER SET cp1251 DEFAULT NULL,
  `opisanie` varchar(250) CHARACTER SET cp1251 DEFAULT NULL,
  `edizm_id` int(11) DEFAULT NULL,
  `kol` int(11) DEFAULT NULL,
  `current_date_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `deleted` int(11) DEFAULT '0',
  `computer_insert` varchar(255) CHARACTER SET cp1251 DEFAULT NULL,
  `computer_edit` varchar(255) CHARACTER SET cp1251 DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=18 DEFAULT CHARSET=latin1;

-- Дамп структуры для таблица zap_otv
CREATE TABLE IF NOT EXISTS `zap_otv` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `zap_cen_id` int(11) DEFAULT NULL,
  `postavshik_id` int(11) DEFAULT NULL,
  `cena` double DEFAULT NULL,
  `opisanie` varchar(250) CHARACTER SET cp1251 DEFAULT NULL,
  `current_date_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `deleted` int(11) DEFAULT '0',
  `computer_insert` varchar(255) CHARACTER SET cp1251 DEFAULT NULL,
  `computer_edit` varchar(255) CHARACTER SET cp1251 DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=86 DEFAULT CHARSET=latin1;



Делаю выборку

SELECT 
zap_cen.id, 
zap_cen.zap_id, 
zap_otv.postavshik_id,
zap_cen.name, 
zap_cen.opisanie, 
edizm.name, 
zap_cen.kol, 
zap_otv.cena, 
zap_otv.opisanie, 
zap_otv.deleted
FROM 
edizm INNER JOIN 
(zap_cen LEFT JOIN zap_otv ON 
zap_cen.id = zap_otv.zap_cen_id) ON
edizm.id = zap_cen.edizm_id
WHERE 
(zap_cen.zap_id=2) AND 
(zap_otv.postavshik_id=2) AND 
(zap_otv.deleted=0)
order by zap_cen.id;



Результат не устраивает


Не получается сделать выборку
Необходимо показать все записи из таблицы
zap_cen которые удовлетворяют условиям
zap_cen.zap_id=2

и только те записи из таблицы zap_otv которые удовлетворяют условиям
zap_otv.postavshik_id=2
zap_otv.deleted=0

Связь по ключу zap_cen.id=zap_otv.zap_cen_id

Т.е. если есть запись в таблицу zap_cen и нет в таблице zap_otv то все равно ее надо выводить
zap_cen.name,
zap_cen.opisanie

Заранее спасибо
...
Рейтинг: 0 / 0
10.02.2015, 08:27:31
    #38875357
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста с выборкой
Boris_2007,
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
// {skipped}
FROM  
  zap_cen 
  INNER JOIN edizm 
    ON edizm.id = zap_cen.edizm_id
  LEFT JOIN zap_otv 
    ON zap_otv.zap_cen_id = zap_cen.id AND 
       zap_otv.postavshik_id= 2 AND 
       zap_otv.deleted = 0

WHERE 
  zap_cen.zap_id = 2

order by 
  zap_cen.id
;
...
Рейтинг: 0 / 0
10.02.2015, 08:34:55
    #38875362
Boris_2007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста с выборкой
Огромное человечное СПАСИБО!
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите пожалуйста с выборкой / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]