PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   Oracle SQL 高手請進... (https://www.pcdvd.com.tw/showthread.php?t=214404)

阿拉丁 2003-06-03 06:00 PM

引用:
Originally posted by 黑狗弟
再問各位大大一題...
-----------
Select
Trips.trip_id,
Planetypes.name,
Trips.plane_id,
Planetypes.max_passengers,
Count(Trips.trip_id) carried
From boardingpass, trips, planes, planetypes
Where
Boardingpass.trip_id = trips.trip_id and
trips.plane_id = planes.plane_id and
planes.planetype_id = planetypes.planetype_id and
carried > Planetypes.max_passengers
group by
Trips.trip_id,
Planetypes.name,
Trips.plane_id,
Planetypes.max_passengers
Order by Trips.trip_id
-----------
中間這行
carried > Planetypes.max_passengers
-------------
其實我想要的是把我原先在第 6 行的
-------
Count(Trips.trip_id) carried
-------
的這個數帶進來 where 下面...
可是他說 invalid column...
或者在 where 下面放
-------
Count(Trips.trip_id)
------
他也說不行... @_@

請問各位大大有什麼辦法嗎???

我該放什麼 statement??

我想過在放多個 (select ) 當作 subquery..

不過題目說.. 只能放一個 select statement..



group by ...... having Count(Trips.trip_id) > Planetypes.max_passengers

Devil 2003-06-03 06:13 PM

SQL Server
DECLARE @DayA int,@DayB int
SET @DayA=365
SET @DayB=730

SELECT '符合條件'
WHERE DateDiff(d,GetDate(),要比對的日期欄位) Between @DayA AND @DayB

如果不是要求一段日期區間的話,則不須用Between AND比較,用=即可
請自行變化

黑狗弟 2003-06-03 06:14 PM

引用:
Originally posted by 阿拉丁
group by ...... having Count(Trips.trip_id) > Planetypes.max_passengers


感謝阿拉丁....

果然...

終於做完可以回家了......

原來還可以放在 group by 下面...

黑狗弟 2003-06-03 06:17 PM

引用:
Originally posted by Devil
SQL Server
DECLARE @DayA int,@DayB int
SET @DayA=365
SET @DayB=730

SELECT '符合條件'
WHERE DateDiff(d,GetDate(),要比對的日期欄位) Between @DayA AND @DayB

如果不是要求一段日期區間的話,則不須用Between AND比較,用=即可
請自行變化


謝謝...

不過這些數值 (365, 730)都是再另一個 table 裡面的...

所以.. 等一下老師把他改依下...

我又錯了...

不過你這種語法第一次看到... 又多學一樣了

Devil 2003-06-03 06:57 PM

條件值存在另一個table中
那就使用Join吧
再把@DayA,@DayB改成另一個Table的欄位就可以了

黑狗弟 2003-06-03 07:07 PM

引用:
Originally posted by Devil
條件值存在另一個table中
那就使用Join吧
再把@DayA,@DayB改成另一個Table的欄位就可以了


所以這題搞定了....:D :D


所有的時間均為GMT +8。 現在的時間是02:31 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2026。