2017-01-28 16 views
0

私は2つのテーブルを持っています。2つの異なるテーブルの結果を取得するmysql

表の株式

fecha  | tarifa 

2017-01-06 500 
2017-01-07 500 
2017-01-08 500 

表のプロモーション

fecha  | percent 

2017-01-07 0.10 
2017-01-08 0.10 
2017-01-07 0.15 
2017-01-08 0.15 

と私は取得する必要がありながら、mysqlのクエリこの:

fecha  | tarifa | percent 

2017-01-06 500  0 
2017-01-07 500  0.10 
2017-01-08 500  0.10 
2017-01-06 500  0 
2017-01-07 500  0.15 
2017-01-08 500  0.15 

をありがとう!

更新

私は、クエリの結果でこの配列を作成する必要があります。

Array 
(
    [1] => Array 
     (
      [0] => Array 
       (
        [fecha] => 2017-01-06 
        [tstandard]=>500 
        [porcentaje] => 0.00 
       ) 

      [1] => Array 
       (
        [fecha] => 2017-01-07 
        [tstandard]=>500 
        [porcentaje] => 0.10 
       ) 

      [2] => Array 
       (
        [fecha] => 2017-01-08 
        [tstandard]=>500 
        [porcentaje] => 0.10 
       ) 
     ) 

    [2] => Array 
     (
      [0] => Array 
       (
        [fecha] => 2017-01-06 
        [tstandard]=>500 
        [porcentaje] => 0.00 
       ) 

      [1] => Array 
       (
        [fecha] => 2017-01-07 
        [tstandard]=>500 
        [porcentaje] => 0.15 
       ) 

      [2] => Array 
       (
        [fecha] => 2017-01-08 
        [tstandard]=>500 
        [porcentaje] => 0.15 

       ) 
     ) 
) 

例えば、私は配列を行っているが、毎日

+0

使用 'LEFT JOIN'を他の行と一致する行 – Barmar

+0

SOは無料のコーディングサービスではありません。自分で問題を解決しようとする試みが必要です。あなたがそれを働かせることができない場合は、あなたが試したものを投稿してください。 – Barmar

答えて

1

のtstandardなしあなたは、所望の出力を得るためにleft outer joinを使用することができます。:

SELECT s.fecha, s.tarifa, IFNULL(p.percent, 0) 
FROM stock s LEFT JOIN promotions p ON s.fecha = p.fecha; 

をここでSQL Fiddleです。

更新

あなたは日付の出力を制限したい場合は、以下のクエリを使用できます。そのうちの一つが含まれていない可能性がある場合2つのテーブルを結合するために

SELECT s.fecha, s.tarifa, IFNULL(p.percent, 0) 
FROM stock s LEFT JOIN promotions p ON s.fecha = p.fecha 
WHERE s.fecha BETWEEN $checkin AND $checkout; 
+0

本当に良い解決策がありますが、ゲストが日付を選択するとどうすればいいですか?テーブルストックは、毎年の年を含むテーブルです。ホテル予約システムがあります。テーブルプロモーションには割引の日のみが含まれます。私が左外部結合を使用しようとすると、選択...を使用しようとすると、fecha> = $ checkinとfecha <$ checkoutの結果がfechaの列があいまいです –

+0

ohhh、あなたは私の神です。 jeje。 ¿私は最後の質問をすることはできますか?私はどのようにプロモーションのための1つの配列を取得することができます、そして、それぞれはtharが相談されているすべての日を含みます。例えば6日、7日、8日 - 6日、0.00パーセント - 、および他の日は0.10パーセント)、そして他の配列には3日間(6,7,8 - 6日目、0.00%、および他の日0.15%)。 yはPHPでこれを行う必要がありますか? –

+0

私のクエリのlasテーブルには、取得したい結果があります。 –

関連する問題