2017-06-24 17 views
0

私はほとんどSQL構文で新しく、私はMySQLのビューを作成するための助けが必要です。減算操作で2つのテーブルからビューを作成

IDという名前のPK列、total_seatsという列、もう1つはtitleという列があります。 2番目の表には、firstname列と、最初の表にあるPK(total_seats)に対応するFKという複数の行があります。

最初のテーブルにある各要素のavailable_seats(2番目のテーブルではtotal_seatsのマイナス)を計算できるビューを作成する必要があります。

実際に私は占領された席を計算していますが、参加は私にすでに行われたイベントの結果のみを与えます。その結果、空のイベントのためにavailable_seatsが表示されません。

SELECT b.ID_event, a.*, 
COUNT(*) AS occupied FROM second_table b 
LEFT JOIN first_table a ON b.ID_event = a.ID 
GROUP BY ID_event 

答えて

1

あなたはそれが動作するのですが、残念ながらそれはカウント(および減算)だ縫い目数

select a.ID_event, a.total_seats, count(*) as occupied, a.total_seats - count(*) difference 
from first_table a 
left join second_table ba ON b.ID_event = a.ID 
group by a.ID_event, a.total_seats 
+0

を引くことができ、 'ONE' 第二の表の不一致とイベントIDについては。 @scaisEdge – Andrea

+0

質問を更新して、適切なデータサンプルと期待される結果を追加してください。 – scaisEdge

+0

私はこのコードを使用して最終的に問題を解決しました。 インスピレーションと最初の実装のための@scaisEdgeのおかげです。 '選択するa。*、 (COUNT(*)FROM second_table bを選択します。b.ID_event = a.ID) (a.total_seats-COUNT(*)FROM second_tableを選択します)b.ID_event = a .ID)AS available_seats FROM first_table a ' – Andrea

関連する問題