|
查看: 1924|回复: 14
|
請問怎樣做這個VIEW?
[复制链接]
|
|
|
table sales
+--------+-----------+---------------+------------+---------------+------------+
| SaleID | Quantity | CustomerID | ProductID | EmployeeID | SaleDate |
+--------+-----------+---------------+------------+---------------+------------+
| 1 | 5 | 3 | 21 | 19 | 2006-09-01 |
| 2 | 1 | 20 | 14 | 4 | 2006-09-01 |
| 3 | 1 | 20 | 9 | 4 | 2006-09-01 |
| 4 | 6 | 15 | 22 | 6 | 2006-09-02 |
| 5 | 2 | 21 | 20 | 22 | 2006-09-02 |
| 6 | 3 | 22 | 17 | 25 | 2006-09-02 |
| 7 | 24 | 17 | 40 | 5 | 2006-09-03 |
| 8 | 12 | 17 | 20 | 5 | 2006-09-03 |
| 9 | 10 | 1 | 2 | 17 | 2006-09-03 |
+--------+-----------+---------------+------------+---------------+------------+
table products
+------------+---------------+-----------------+------+--------------+
| ProductID | ProductCode | ProductName | Price | CategoryID |
+------------+---------------+-----------------+------+--------------+
| 1 | 1001 | まぐろ | 500 | 1 |
| 3 | 1003 | ぶり | 350 | 1 |
| 4 | 1004 | あじ | 200 | 1 |
| 5 | 1005 | あなご | 150 | 1 |
| 6 | 2006 | ねずみ肉 | 120 | 2 |
| 7 | 2007 | とり肉 | 200 | 2 |
| 8 | 2008 | 豚肉 | 300 | 2 |
| 9 | 2009 | バッタ肉 | 185 | 2 |
| 11 | 3011 | ねこ草 | 120 | 3 |
| 12 | 3012 | 大根 | 135 | 3 |
| 13 | 3013 | いちご | 480 | 3 |
| 14 | 3014 | じゃがいも | 300 | 3 |
| 15 | 3015 | しいたけ | 150 | 3 |
| 16 | 4016 | チューチュ | 200 | 4 |
| 17 | 4017 | いなごチッ | 180 | 4 |
| 18 | 4018 | ありせんべ | 320 | 4 |
| 19 | 4019 | チューチュ | 110 | 4 |
+------------+---------------+-----------------+------+--------------+
想要做一個VIEW (saledate是2006-09-02, price >=100)
要有SaleID,CustomerID
要怎麽寫?用sub query?
我是新手,請指教! |
|
|
|
|
|
|
|
|
|
|
发表于 18-5-2010 11:28 PM
|
显示全部楼层
SELECT S.* , P.*
FROM SALES S , PRODUCT P
WHERE S.PRODUCT_ID = P.PRODUCT AND
TO_CHAR (C.SaleDate , 'DD/MM/YYYY') = '02/09/2006'
AND P.PRICE >= 100
中文 ~ |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 19-5-2010 12:07 PM
|
显示全部楼层
不好意思,看不懂哦。。。
S.* , P.* ??
TO_CHAR?? |
|
|
|
|
|
|
|
|
|
|
发表于 19-5-2010 12:47 PM
|
显示全部楼层
S 和 P 是你 ALIAS 的名字
* = 拿完全部的 FIELD
to_char = CAST 去 STRING 。
跑不到咩 ? |
|
|
|
|
|
|
|
|
|
|
发表于 19-5-2010 12:52 PM
|
显示全部楼层
select *
from Sales t0
left outer join Products t1 on t0.ProductID=t1.ProductID
where t0.SaleDate='09-02-2009' and t1.Price >= 100 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 19-5-2010 01:29 PM
|
显示全部楼层
就是要先把2個table結合是嗎? 這樣我就懂了
可是我想知道如果不結合可以做到嗎? |
|
|
|
|
|
|
|
|
|
|
发表于 19-5-2010 01:56 PM
|
显示全部楼层
回复 6# 奇洛李维斯
可以 先 loop Sales table
在 Sales 的 looping 再 loop Product table |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 19-5-2010 02:36 PM
|
显示全部楼层
|
何謂 loop? mysql 也有 loop 的哦? 不明白。。。 |
|
|
|
|
|
|
|
|
|
|
发表于 20-5-2010 02:24 AM
|
显示全部楼层
|
可以 LOOP , 不过 是 限于 在 STORED PROCEDURE |
|
|
|
|
|
|
|
|
|
|
发表于 20-5-2010 09:20 AM
|
显示全部楼层
回复 8# 奇洛李维斯
给你正宗又快速的方法你又不要给你旁门左道的方法你又不会 |
|
|
|
|
|
|
|
|
|
|
发表于 25-5-2010 05:25 PM
|
显示全部楼层
|
请去看基本的SQL课程然后自己写出来给我们看看你的QUERY。。不然。。谁都帮不到你。。 |
|
|
|
|
|
|
|
|
|
|
发表于 25-5-2010 10:02 PM
|
显示全部楼层
很奇怪。。。。
zomo 这样多loop来loop去的??
为何没有人要用 JOIN TABLE呢??????????
看清楚点
table sales 的 ProductID 是 = table products 的 ProductID
在来个LEFT JOIN
然后来个WHERE [table sales]的[SaleDate] = 2006-09-02 和 [table products] 的[Price] >=100
就有你要的东西出来了咯~
要注意的是你那个SaleDate我不知道你的db record是如何的咯~ |
|
|
|
|
|
|
|
|
|
|
发表于 26-5-2010 03:50 PM
|
显示全部楼层
回复 12# 小陈陈
#2 & #5 的回复不是用 inner join & left out join 吗? |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 27-5-2010 12:33 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 11-6-2010 06:01 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|