LINUX.ORG.RU

Ответ на: комментарий от Darth_Revan

Можешь помочь сделать пару простых запросов? Хотел методом тыка придти к результату, но БД оказывается, дана только в виде картинки)
Запросы такого вида: вывести услуги из группы А с сортировкой по артикулу

admucher ★★
() автор топика
Ответ на: комментарий от Anoxemian

Почитал. Варианты есть, но для уверенности нужны либо тесты, либо опыт

admucher ★★
() автор топика
Ответ на: комментарий от admucher

SELECT услуга FROM группа_А ORDER BY антикул Если плохо протелепал схему то жди когда штатные телепаты вернутся из отпуска

MrClon ★★★★★
()
Ответ на: комментарий от MrClon

Телепатов не жду. Хотел в ЛС кинуть содержание

admucher ★★
() автор топика
Ответ на: комментарий от admucher

но БД оказывается, дана только в виде картинки

Ну что ж, удачи, хорошего настроения…

Запросы такого вида: вывести услуги из группы А с сортировкой по артикулу

Если что, Tools → SQL Editor, и там уже писать SQL-запросы.
Что такое группа А, я не понимаю.

Darth_Revan ★★★★★
()
Ответ на: комментарий от MrClon

Да, на работе в которой не будет SQL как минимум год, либо вообще. Удивился после собеса

admucher ★★
() автор топика

Вот, накидал примерно. Можете поправить, если что не так?

задание: https://drive.google.com/file/d/1eJ800idvYROA-Dcat6oAlY0Mp3u-3u7S/view

1
select folder_id, name, code
from tovars_tbl 
where folder_id = '1003'
order by code

2
select tovar_id, name.tovar_tbl as name, name.tovar_units as name1
from tovar_tbl, tovar_units
where folder_id = '1008'
where unit_id = id
order by tovar_id

3
select name.tovar_tbl as name, name.tovar_units as name1
from tovar_tbl, tovar_units
where name1 LIKE 'шт'

4
update tovar_tbl set folder_id='1008'
where folder_id = '1003'
admucher ★★
() автор топика
Последнее исправление: admucher (всего исправлений: 1)
Ответ на: комментарий от admucher
SELECT TOVAR_ID, NAME FROM TOVARS_TBL
WHERE FOLDER_ID = (SELECT FOLDER_ID FROM TREE WHERE NAME = 'Мытье')
ORDER BY CODE;

SELECT t1.TOVAR_ID, t1.NAME, t2.NAME AS NAME1
FROM TOVARS_TBL AS t1 LEFT OUTER JOIN TOVAR_UNITS AS t2 ON t1.UNIT_ID = t2.ID
WHERE t1.FOLDER_ID = (SELECT FOLDER_ID FROM TREE WHERE NAME = 'Вывоз')
ORDER BY TOVAR_ID;

SELECT t1.TOVAR_ID, t1.NAME
FROM TOVARS_TBL AS t1 INNER JOIN TOVAR_UNITS AS t2 ON t1.UNIT_ID = t2.ID
WHERE t2.NAME LIKE '%шт%' ORDER BY TOVAR_ID;

UPDATE TOVARS_TBL
SET FOLDER_ID = (SELECT FOLDER_ID FROM TREE WHERE NAME = 'Вывоз')
WHERE FOLDER_ID = (SELECT FOLDER_ID FROM TREE WHERE NAME = 'Мытье');
Darth_Revan ★★★★★
()
Последнее исправление: Darth_Revan (всего исправлений: 2)
Ответ на: комментарий от Darth_Revan

Очень хороший пример. В частности нравится, что задействована таблица TREE, но боюсь, что в случае чего не повторю, т.к. часть операторов пока не изучено.

мой пример выше (только правленый), сильно далек от рабочего варианта?

select folder_id, name, code
from tovars_tbl 
where folder_id = '1003'
order by code


select tovar_id, tovar_tbl.name as name, tovar_units.name as name1
from tovar_tbl, tovar_units
where folder_id = '1008' AND unit_id = id
order by tovar_id


select tovar_tbl.name as name, tovar_units.name as name1
from tovar_tbl, tovar_units
where unit_id = id AND tovar_units.name LIKE '%шт%'


update tovar_tbl set folder_id='1008'
where folder_id = '1003'
admucher ★★
() автор топика
Ответ на: комментарий от admucher

т.к. часть операторов пока не изучено

INNER JOIN изучить таки придётся.

FROM tovar_tbl, tovar_units

Если что, такая конструкция аналогична FROM tovar_tbl CROSS JOIN tovar_units.

Darth_Revan ★★★★★
()
Последнее исправление: Darth_Revan (всего исправлений: 2)
Ответ на: комментарий от admucher

но боюсь, что в случае чего не повторю, т.к. часть операторов пока не изучено.

У Оракла есть онлайновая база данных с редактором для вот такого изучения с нуля, базовые вещи с SQL одинаковые: https://livesql.oracle.com/

Жене нужно было для работы, пяти дней хватило для набивания джойнов/группировок/внутренних запросов/и проходжения собеседования.

alexmaru
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.