私は最初のテーブルからいくつかのものを取得し、別のテーブルの別のアイテムを結合し、別のテーブルのアイテムをもう1つ結合する必要があるという問題があります。私はこれが簡単だろうと思ったが、それはそれから遠い。ここに私のSQL情報があります(簡単にするために1レコードにしました)。むしろ、私は彼らがそのテーブルのみに参照されるように、私はトリプルでたCustomerServiceテーブルからFrequencyTypeを取得するために参加しなければならないだろう考え出し複数のテーブルの結合
customers.CustomerID, customers.CustomerActive, customers.protected, frequency.FrequencyType
:
select * from customers limit 1 \G;
*************************** 1. row ***************************
CustomerID: 9
CustomerMapsco: 459
CustomerActive: 1
CustomerFirstName: John
CustomerLastName: Doe
CustomerServiceStreet: 1314 Road Rd.
CustomerServiceCity: City
CustomerServiceState: TX
CustomerServiceZip: 12345
CustomerBillingStreet: 1314 Road Rd.
CustomerBillingCity: City
CustomerBillingState: TX
CustomerBillingZip: 12345
CustomerHomePhone: 1231231234
CustomerCellPhone: 1231231234
CustomerWorkPhone: 1231231234
CustomerWorkExt: 12345
CustomerFax: 1231231324
CustomerEmail: [email protected]
CustomerDog: 0
CrewID: 1
ScheduleID: 1
protected: 1
mysql> select * from customerservice limit 1 \G;
*************************** 1. row ***************************
CustomerSvcID: 15
CustomerID: 9
ServiceTypeID: 1
FrequencyTypeID: 1
DayID: 5
CustomerSvcCost: 21
CustomerSvcBeginDate: 2007-01-01 00:00:00
CustomerSvcEndDate: NULL
1 row in set (0.00 sec)
mysql> select * from frequency
-> ;
+-----------------+---------------+
| FrequencyTypeID | FrequencyType |
+-----------------+---------------+
| 1 | Weekly |
| 2 | Biweekly |
| 3 | One Time |
+-----------------+---------------+
何が必要なのは、次の列であります顧客テーブルよりもしたがって、私はその情報を得るために1つの追加ステップを取らなければならない(customers <> customerservice <> frequency
)。
それを解決している素晴らしいです。将来の参照のためにこれを説明できる方法はありますか?私は、 'FROM tablename'の後の文字がエイリアス(' AS'?)であると推測しています。私が理解できないことは、それらが 'SELECT'部分ですでに定義されているようにそれらを参照することです。だから、私は、あなたがそれらを定義する前に別名を参照できるようにMySQLを(おそらく他の人たちも)推測しています、そして、あなたがそれらを定義する限り、それはすべて良いですか? MySQLの基本的な質問です。繰り返しますが、あなたのソリューションは素晴らしいものでした。 – drewrockshard
はい、テーブルtまたはテーブルtはちょうど同じです。実際に私はmysqlがどのようにクエリを解析するのかわからないが、そうでなければ動作しないインタープリターselectステートメントの前に別名definitonを探す(そしてSQL Serverはそのようにも動作する)。他の誰かがそれをもっとうまく説明できると確信しています – Dalen