|
|
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
есть 3 таблицы : Код: plaintext 1. 2. 3. 4. запрос Код: plaintext 1. 2. 3. 4. 5. выводит slAccountItem_total_real для всех dcEmploye по всем slInOut_ID, которые есть в slAccountItem для конкретного dcEmploye необходимо , чтобы выводило не только slInOut_ID которые есть в есть в slAccountItem для конкретного dcEmploye, но и те которых у него нет, а есть у других, т.е. например имеется (выдает мой запрос ): Код: plaintext 1. 2. надо, чтобы было : Код: plaintext 1. 2. 3. 4. Помогите, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 16:17:24 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
используй left join Да, кстати inner не обязательно указывать, сервер использует его по умолчанию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 16:30:40 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
left join не помогает , то же самое выдаёт, что и INNER JOIN, вот запрос : Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 16:33:39 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
тогда используй right join :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 16:45:36 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
right join бред выводит , не то что надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 16:49:23 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
full join? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 16:50:34 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
full join тоже самое выводит , что и right join ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 16:56:39 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
Если не трудно-приведите скрипты таблиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 17:03:10 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
Пожалуйста : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 17:10:46 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
так не пойдет? Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 17:38:25 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
ВОТ: CREATE TABLE [dbo].[slAccount] ( [dcEmploye_ID] [int] NOT NULL , [ID] [int] IDENTITY (1, 1) NOT NULL , [slCard_ID] [int] NOT NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[slAccountItem] ( [ID] [int] IDENTITY (1, 1) NOT NULL , [total_real] [float] NOT NULL , [slInOut_ID] [int] NULL , [slAccount_ID] [int] NOT NULL , ) ON [PRIMARY] GO CREATE TABLE [dbo].[slCard] ( [ID] [int] IDENTITY (1, 1) NOT NULL , [date] [datetime] NOT NULL ) ON [PRIMARY] GO insert into [dbo].[slCard] select GetDate() union select DateAdd( d, -1, GetDate() ) union select DateAdd( d, -2, GetDate() ) --select * from [dbo].[slCard] insert into [slAccount] select DatePart( d,[date] ),[ID] from [slCard] --select * from [slAccount] insert into [dbo].[slAccountItem] select rand(),cast( rand()*10 as int ), [ID] from slAccount --select *from slAccountItem insert into [slAccount] select 10,5 -- сам запрос select a.dcEmploye_ID, i.slInOut_ID, i.total_real, c.[id] from slAccount a full join slAccountItem i on a.[id]=i.slAccount_ID full join slCard c on a.slCard_ID = c.[id] DROP TABLE [dbo].[slAccount] DROP TABLE [dbo].[slAccountItem] DROP TABLE [dbo].[slCard] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 17:43:27 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
Ни вариант funikovyuri , ни вариант MiCe не подходит (( Mice : тоже самое что и мой вариант funikovyuri : мне надо Код: plaintext 1. 2. 3. 4. а не Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 18:04:38 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
данные приведите.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 18:11:16 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
Держите данные : slCard Код: plaintext 1. slAccount Код: plaintext 1. 2. slAccountItem Код: plaintext 1. 2. 3. 4. 5. Должно быть : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. а получается (с моим запросом и запросом MiCe ) : Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 18:39:28 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
Что, никто не знает ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 10:17:10 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
Try this SELECT slAccount_dcEmploye_ID AS E_ID, slAccountItem_slInOut_ID,slAccountItem_total_real from slAccountItem LEFT JOIN slAccount ON slAccountItem_slAccount_ID = slAccount_ID LEFT JOIN slCard ON slCard_ID = slAccount_slCard_ID AND slCard_date = '10.01.2002' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 10:21:38 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
Пробовал уже все виды joinов - не то, что надо (( left join выдаёт тоже самое . что и inner join ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 10:27:16 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
left join выдаёт тоже самое . что и inner join LEFT JOIN slCard ON slCard_ID = slAccount_slCard_ID AND slCard_date = '10.01.2002' is not the same like LEFT JOIN slCard ON slCard_ID = slAccount_slCard_ID WHERE slCard_date = '10.01.2002' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 10:35:35 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
вместо того, чтобы join-нить можно вместо поля вставить необходимый полноценный select SELECT slAccount_dcEmploye_ID , slAccountItem_slInOut_ID,( select AccountItem_total_real from ... where ... ), а из join таблицу, содержащую AccountItem_total_real убрать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 10:46:49 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
> Somebody проверял и LEFT JOIN slCard ON slCard_ID = slAccount_slCard_ID AND slCard_date = '10.01.2002' и LEFT JOIN slCard ON slCard_ID = slAccount_slCard_ID WHERE slCard_date = '10.01.2002' - тоже самое > Enot и как будет выглядеть конкретно этот полноценный select, он же возратит множество записей , а не одну - а это нельзя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 11:13:45 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
Мастера SQL , где же вы !!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 11:59:00 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
SELECT distinct slAccount_dcEmploye_ID , slAccountItem_slInOut_ID,slAccountItem_total_real from slAccountItem INNER JOIN slAccount ON slAccountItem_slAccount_ID = slAccount_ID INNER JOIN slCard ON slCard_ID = slAccount_slCard_ID WHERE slCard_date = '10.01.2002' union select slAccount_dcEmploye_ID , slAccountItem_slInOut_ID, null from slAccountItem INNER JOIN slAccount ON slAccountItem_slAccount_ID = slAccount_ID INNER JOIN slCard ON slCard_ID = slAccount_slCard_ID WHERE slAccount_dcEmploye_ID in ( SELECT slAccount_dcEmploye_ID INNER JOIN slAccount ON slAccountItem_slAccount_ID = slAccount_ID INNER JOIN slCard ON slCard_ID = slAccount_slCard_ID WHERE slCard_date = '10.01.2002' ) and slAccountItem_slInOut_ID not in ( SELECT slAccountItem_slInOut_ID INNER JOIN slAccount ON slAccountItem_slAccount_ID = slAccount_ID INNER JOIN slCard ON slCard_ID = slAccount_slCard_ID WHERE slCard_date = '10.01.2002' ) если я чо напортачил,ты,того,не серчай.В чистом виде,этот синтакс заткнет сервер из-за подзапросов,но если сварить процеду с временной таблицей,в которую выпотрошить записи первого и главного запроса ,должна отщелкать,кaк родная,ну не без доработки,разумеется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 13:03:42 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
SELECT slAccount_dcEmploye_ID, r, slAccountItem_total_real FROM slCard INNER JOIN slAccount ON slCard_ID = slAccount_slCard_ID INNER JOIN (SELECT slAccountItem_slInOut_ID as r FROM slAccountItem INNER JOIN slAccount ON slAccountItem_slAccount_ID = slAccount_ID INNER JOIN slCard ON slCard_ID = slAccount_slCard_ID WHERE slCard_date = '10.01.2002' GROUP BY slAccountItem_slInOut_ID) as tbl1 ON 1=1 LEFT JOIN slAccountItem ON slAccountItem_slAccount_ID = slAccount_ID AND slAccountItem_slInOut_ID=r WHERE slCard_date = '10.01.2002' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 13:54:47 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
"и как будет выглядеть конкретно этот полноценный select, он же возратит множество записей , а не одну - а это нельзя" "Ну вы блин даете" - во where надо внести критерий выборки, например тот, что стоял в join ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 14:52:40 |
|
||
|
Помогите создать запрос
|
|||
|---|---|---|---|
|
#18+
Привет! Если еще актуально, попробуй следующий запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 14:55:33 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32075729&tid=1818286]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
212ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 264ms |
| total: | 597ms |

| 0 / 0 |
