質問編集履歴

5

追記

2018/06/15 05:14

投稿

trafalbad
trafalbad

スコア303

test CHANGED
@@ -1 +1 @@
1
- WHERE句で指定した行がエラーになることについて
1
+ WHERE句で指定した行が'Invalid column name'とエラーになることについて
test CHANGED
File without changes

4

追記

2018/06/15 05:14

投稿

trafalbad
trafalbad

スコア303

test CHANGED
@@ -1 +1 @@
1
- Between句で指定した行がエラーになることについて
1
+ WHERE句で指定した行がエラーになることについて
test CHANGED
File without changes

3

質問変更

2018/06/15 05:13

投稿

trafalbad
trafalbad

スコア303

test CHANGED
@@ -1 +1 @@
1
- プロシージャの変数の条件指定が複雑場合の指定方法がわからな
1
+ Between句で指定した行エラーにることにつ
test CHANGED
@@ -1,78 +1,56 @@
1
+ 下記のSQLでウィンドウ関数で指定した行名'king'を
2
+
1
- プロシージャを以下のように設定ます
3
+ BETWEENで指定したところ、のようなエラーなりまた。
2
4
 
3
5
  ```sql
4
6
 
5
- #ウィンドウ2
7
+ Error running query: Invalid column name 'king'.DB-Lib error message 20018, severity 16: General SQL Server error: Check messages from the SQL Server DB-Lib error message 20018, severity 16: General SQL Server error: Check messages from the SQL Server DB-Lib error message 20018, severity 16: General SQL Server error: Check messages from the SQL Server DB-Lib error message 20018, severity 16: General SQL Server error: Check messages from the SQL Server
6
8
 
7
- declare @brand_id integer;
9
+ Embed
8
10
 
9
- declare @model_id integer;
11
+ Download Dataset
10
-
11
- declare @cate_id integer;
12
12
 
13
13
  ```
14
14
 
15
- さらにWHEREで
16
-
17
- ```sql
18
-
19
- #ウィンドウ2
20
-
21
- WHERE
22
-
23
- ms.brand_id = @brand_id
24
-
25
- and ms.model_id = @model_id
26
-
27
- and ms.cate_id = @cate_id
28
-
29
- ```
30
-
31
- のように条件を指定します。
32
15
 
33
16
 
17
+ 原因をご教授いただけないでしょうか?ちなみにmysqlです。
34
18
 
35
-
36
-
37
- しかしプロシージャで宣言した変数は、別のページ(ウィンドウ1)のSQL(最後に掲載)です。
38
-
39
- 下記のSQLの「```link```」から飛んだ別のページ(ウィンドウ2)で上記のようにプロシージャを指定しています。
40
-
41
-
42
-
43
- このように、一つ目のウィンドウのSQLでの変数を、2つ目のウィンドウでプロシージャで変数として指定しました。
44
-
45
- これを一つのウィンドウ内にとめですが、プロシージャの指定方法がわかりません。何かいい方法はないでしょうか?
19
+ また質問大幅な変更申し訳ありません
46
-
47
-
48
-
49
-
50
-
51
-
52
20
 
53
21
 
54
22
 
55
23
  ```sql
56
24
 
57
- # ウィンドウ1
25
+ WITH bcr AS
58
26
 
59
- select s.brand_id, mb.name_eigo, s.model_id, model.name_eigo model_name_eigo
27
+ (select mb.brand_id, mb.name_eigo, s.model_id, model.name_eigo model_name_eigo,
60
28
 
61
- '<a target="_blank" href="' + 'https://redash.='
29
+ mc.cate_id, mc.cate_name, s.cnt
62
-
63
- + convert(varchar, s.cate_id) + '&p_brand_id=' + convert(varchar, s.brand_id) + '&p_model_id=' + convert(varchar, s.model_id) + '">画像Link</a>' link,
64
-
65
- s.cnt
66
30
 
67
31
  from (
68
32
 
69
- SELECT ms.brand_id, ms.model_id, ms.cate_id, count(*) cnt
33
+ SELECT ms.brand_id, ms.model_id, ms.cate_id,count(ms.syo_id) cnt
70
34
 
71
35
  FROM M_SYOHIN ms (NOLOCK)
72
36
 
73
37
  JOIN M_KAIIN mk (NOLOCK)
74
38
 
75
39
  ON ms.buyer_id = mk.kaiin_id
40
+
41
+ left outer join M_SYOHIN_MODEL msm
42
+
43
+ on ms.model_id=msm.model_id
44
+
45
+ WHERE ms.kokaidate >= '2008-06-10' AND (msm.deleted IS NULL or msm.deleted='0')
46
+
47
+ AND NOT EXISTS (SELECT 1 FROM D_REQRES res (NOLOCK) WHERE res.syo_id = ms.syo_id)
48
+
49
+ AND NOT EXISTS (SELECT 1 FROM D_DELEGATE_RES res (NOLOCK) WHERE res.syo_id = ms.syo_id)
50
+
51
+ AND mk.status = '1' AND ISNULL(mk.syupin_limit, '0') = '0' AND mk.blacklist = '0'
52
+
53
+ AND ms.thm_id <> '136' -- USED商品のテーマは除く
76
54
 
77
55
  group by ms.brand_id, ms.model_id, ms.cate_id
78
56
 
@@ -90,12 +68,52 @@
90
68
 
91
69
  on s.model_id = model.model_id
92
70
 
93
- order by s.cnt desc
71
+ WHERE mb.yuko_flg='0'
94
72
 
95
- ```
73
+ )
96
74
 
97
75
 
98
76
 
99
- 追記
77
+ SELECT TOP 10 bcr.brand_id,
100
78
 
79
+ bcr.model_id,
80
+
81
+ bcr.cate_id,
82
+
83
+ bcr.cnt,
84
+
85
+ ms.syo_id,
86
+
87
+ image.url,
88
+
89
+ RANK() OVER(ORDER BY bcr.cnt DESC) AS king
90
+
91
+ FROM M_SYOHIN ms (NOLOCK)
92
+
93
+ JOIN M_KAIIN mk (NOLOCK) ON ms.buyer_id = mk.kaiin_id
94
+
95
+ JOIN M_SYOHIN_IMAGES image (NOLOCK) ON ms.syo_id = image.syo_id
96
+
97
+ INNER JOIN bcr ON ms.brand_id=bcr.brand_id
98
+
99
+ AND ms.model_id=bcr.model_id
100
+
101
+ AND ms.cate_id=bcr.cate_id
102
+
103
+ WHERE king > 100 AND king < 102
104
+
105
+ AND ms.kokaidate >= '2008-06-10'
106
+
107
+ AND NOT EXISTS (SELECT 1 FROM D_REQRES res (NOLOCK) WHERE res.syo_id = ms.syo_id)
108
+
109
+ AND NOT EXISTS (SELECT 1 FROM D_DELEGATE_RES res (NOLOCK) WHERE res.syo_id = ms.syo_id)
110
+
111
+ AND mk.status = '1' AND ISNULL(mk.syupin_limit, '0') = '0' AND mk.blacklist = '0'
112
+
113
+ AND ms.thm_id <> '136' -- USED商品のテーマは除く
114
+
115
+ AND 1.00 <= king AND king >= 3.00
116
+
101
- mysqlのストアドプロシージャです
117
+ ORDER BY bcr.cnt desc
118
+
119
+ ```

2

2018/06/15 05:12

投稿

trafalbad
trafalbad

スコア303

test CHANGED
File without changes
test CHANGED
@@ -98,4 +98,4 @@
98
98
 
99
99
  追記
100
100
 
101
- mysqlのストアプロシージャです
101
+ mysqlのストアプロシージャです

1

2018/06/13 09:17

投稿

trafalbad
trafalbad

スコア303

test CHANGED
File without changes
test CHANGED
@@ -93,3 +93,9 @@
93
93
  order by s.cnt desc
94
94
 
95
95
  ```
96
+
97
+
98
+
99
+ 追記
100
+
101
+ mysqlのストアプロシージャです